python - 如何根据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 中有效地做到这一点?谢谢。
解决方案
可以使用nunique
和transform
df[df.groupby('company')['category'].transform('nunique') > 1]
推荐阅读
- angular - 在 Ionic 3 中的 NgRx 中传递错误 URL 时,减速器错误始终未定义
- c++ - Boost tribool 关于逻辑运算的问题
- c# - 在蓝色和绿色之间徘徊会产生灰色?Unity, 2d Sprite.color
- r - 为多级混合效应模型汇总(和最大化)数据
- javascript - MERN Stack:使用 Redux 存储用户是否登录
- ssas - 基于strtomember访问前一个成员
- javascript - 在 express 中将绝对 url 路径传递给车把视图
- swift - 结合 Semaphore 来限制 .notify 的异步请求和调度组与 defer 和 App 冻结
- android - 亚行以退出代码 1 退出
- java - 如何在 Java 中使用 BufferedReader 在 .txt 文件中查找特定字符串