首页 > 解决方案 > 如何根据python pandas中的1个以上唯一类别过滤数据

问题描述

我有一个数据集如下:

price    category    company          time
10          A         "Walmart"       01/01/2020
20          A         "Walmart"       02/01/2020
30          A         "Macy"          01/01/2020
40          A         "Ross"          01/01/2020
50          B         "Ross"          02/01/2020
60          A         "Starbucks"     01/01/2020
70          B         "Starbucks"     02/01/2020

我正在尝试根据具有超过 1 个唯一类别的类别数量过滤此数据。具有超过 1 个唯一类别的过滤数据如下所示:

price    category    company          time
40          A         "Ross"          01/01/2020
50          B         "Ross"          02/01/2020
60          A         "Starbucks"     01/01/2020
70          B         "Starbucks"     02/01/2020

有没有办法在 pandas python 中有效地做到这一点?谢谢。

标签: pythonpandasunique

解决方案


可以使用nuniquetransform

df[df.groupby('company')['category'].transform('nunique') > 1]

推荐阅读