python - Pandas 掉落稀有元素

标签 python pandas group-by

我是 Pandas 新手。 为了简化,我有一个包含两列的数据框:product_id 和 rating。每个条目都是对给定产品的新评论。 现在我想要一个新的数据框,其中删除了与收到少于 20 条评论的产品相对应的行(即在原始数据框中出现少于 20 次)。 我可以通过以下方式计算出现的次数:

a = data.groupby('product_id').count()
b = a.loc[a['rating']>20]

但这给了我一个一维数据框。显示时,每个product_id都有其计数,但我无法访问实际的product_id以使用它们来过滤原始表。例如,

b.values

返回一维计数数组,但不返回product_ids。

最佳答案

您想要filter :

a = data.groupby('product_id').filter(lambda x: len(x) > 20)

关于python - Pandas 掉落稀有元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33439966/

相关文章:

python - urllib、urllib2、urllib3 和 requests 模块有什么区别?

python - 如何按月汇总和汇总项目?

python - 仅对选定的行和列进行 Pandas groupby

python - 带有网络抓取的 Feed 数据框

python - 上次文件修改时间返回自 DST 更改以来一年的偏移量

ios - 如何计算匹配一对多关系查询的核心数据实体?

MySQL:获取按另一列分组的升序日期

mysql - 对某些行进行分组,然后按列进行分组

python - 并行使用Python的dask将多个CSV分别读取到数据帧列表中不起作用

python - 如何根据条件将数据框中的一列分割为多个系列