这就是df的样子:
Quarter Year Company 1 2018 A 2 2018 A 3 2018 A 4 2018 A 1 2018 B 2 2018 B 1 2018 C 2 2018 C 3 2018 C 4 2018 C
在这个df我想删除相对于公司B的行,因为我只有2个季度.
非常感谢!
解决方法 对于与原始DataFrame相同大小的系列,使用transform
和 size
,因此可能的过滤: df = df[df.groupby('Company')['Quarter'].transform('size') == 4]#if want check by CompanIEs and years#df = df[df.groupby(['Company','Year'])['Quarter'].transform('size') == 4]print (df) Quarter Year Company0 1 2018 A1 2 2018 A2 3 2018 A3 4 2018 A6 1 2018 C7 2 2018 C8 3 2018 C9 4 2018 C
如果性能不重要或小DataFrame使用DataFrameGroupBy.filter
:
df = df.groupby('Company').filter(lambda x: len(x) == 4)总结
以上是内存溢出为你收集整理的python – 删除时间不重复的行全部内容,希望文章能够帮你解决python – 删除时间不重复的行所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)