按频率过滤熊猫数据帧

时间:2020-10-07 23:38:35

标签: pandas dataframe filtering

我有一个大约有5万行和15列的数据集。 我只需要选择遵循规则的某些行:“如果“ C”列中的字符串在数据集中(在该列内)出现20次以上,则选择该行”。它基本上是根据特定列的模式过滤掉的。

最后,我希望有一个约有5k行(和15列)的数据集。

我尝试通过对列使用value_counts()来执行此操作,但随后我无法将其余信息与特定行匹配。

非常感谢您!

1 个答案:

答案 0 :(得分:1)

让我们尝试groupby().transform和布尔索引:

df.loc[df.groupby('C')['C'].transform('size') >= 20]