我在过滤pandas数据帧时遇到问题。

city
NYC
NYC
NYC
NYC
SYD
SYD
SEL
SEL
...

df.city.value_counts()

我想删除计数频率少于4个的城市行,例如SYD和SEL。

如果不按城市逐个手动删除它们,该怎么办?

最佳答案

在这里,你去过滤器

df.groupby('city').filter(lambda x : len(x)>3)
Out[1743]:
  city
0  NYC
1  NYC
2  NYC
3  NYC

解决方案二transform
sub_df = df[df.groupby('city').city.transform('count')>3].copy()
# add copy for future warning when you need to modify the sub df

关于python - Python:在计数条件下删除行,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/49735683/

10-09 18:50