pandas - Pandas 过滤来自多列的值
问题描述
我想找到具有不同产品的 id。在这里,答案是 id-1,2 和 4,因为它有不同的产品。答案不是 id 3 因为 id 3 有类似的产品。
如何在 Python 中编写程序来过滤结果?
id prod
0 1 a
1 1 l
2 2 l
3 2 a
4 3 a
5 3 a
6 3 a
7 4 l
8 4 a
解决方案
IIUC,您可以使用:
df.loc[~df.duplicated(['id','prod'],keep=False),'id']
#or df.drop_duplicates(keep=False)['id']
0 1
1 1
2 2
3 2
7 4
8 4
推荐阅读
- character - 我喜欢获取 IPTC 的 Title 或 Description 字符数
- php - 在葡萄牙语地区显示日期
- docker - 使用 docker 服务的 Tensorflow 面临问题
- c++ - vect.hpp:13:33: 错误: 'operator<<' 声明为非函数
- java - 用asm如何显式声明一个可变参数
- sql - 需要简单的方法来查找开始日期和结束日期之间的持续时间
- ios - 当我将 UIView 动画放在不同类的 containerView 中时,为什么我的 UIView 动画不起作用?
- java - 如何使用 Thymeleaf 集成共享布局并在项目中的所有 html 页面中使用该布局?
- php - Laravel lumen 使用门在控制器中调用多个授权
- ios - 象征性崩溃报告目标-C