首页 > 解决方案 > 删除列中不常见的值

问题描述

我有一个带有 ID 和类别的 Pandas 数据框以及下面的一些标志。当我运行这个

df['category'].value_counts().tail(15)

我看到其中有十几个发生不到 7 次。所以我想从数据框中删除具有这些类别的行。

我想运行这样的东西,但它给了我错误:

df.drop(df[df.category.value_counts() < 7].index, inplace=True)

IndexingError:作为索引器提供的不可对齐的布尔系列(布尔系列的索引和索引对象的索引不匹配)。

如何从数据框中删除那些类别发生少于 7 次的行?

谢谢你。

标签: pandas

解决方案


尝试transform

df = df[df.groupby('category')['category'].transform('count')>=7]

推荐阅读