python - 仅从数据框中获取唯一行
问题描述
我正在尝试删除所有重复的行。我只想要唯一的行。我已经尝试使用 `subset = [ORDER ID, ITEM CODE] 的keep = False
参数drop_duplicates()
,它只是没有做正确的事情。
假设我的数据框看起来像这样
|ORDER ID | ITEM CODE |
123 XXX
123 YYY
123 YYY
456 XXX
456 XXX
456 XXX
789 XXX
000 YYY
我希望它看起来像这样:
|ORDER ID | ITEM CODE |
123 XXX
789 XXX
000 YYY
如您所见,子集将是订单 ID 和项目代码列,理想情况下我们会丢失第 2-6 行。(实际的数据集有更多的列。)
解决方案
不确定你的问题是什么。工作正常。
import pandas as pd
data = [[123, 'XXX', 11],
[123, 'YYY', 22],
[123, 'YYY', 33],
[456, 'XXX', 44],
[456, 'XXX', 55],
[456, 'XXX', 66],
[789, 'XXX',77],
[000, 'YYY',88]]
columns = ['ORDER ID','ITEM CODE','extra column']
df = pd.DataFrame(data, columns=columns)
df = df.drop_duplicates(subset = ['ORDER ID','ITEM CODE'], keep=False)
输出:
前
print(df)
ORDER ID ITEM CODE extra column
0 123 XXX 11
1 123 YYY 22
2 123 YYY 33
3 456 XXX 44
4 456 XXX 55
5 456 XXX 66
6 789 XXX 77
7 0 YYY 88
后
print(df)
ORDER ID ITEM CODE extra column
0 123 XXX 11
6 789 XXX 77
7 0 YYY 88
推荐阅读
- django - Django REST Serializer 使用错误的模型进行序列化
- python - python文件写入程序运行时如何更新桌面上的文件大小
- javascript - 使用 d3.js 更新表数据
- c# - C#捕获从不在进程中的函数返回的异常?
- r - 如何设置仅在输入 3 时才显示集合向量的函数?
- javascript - 如果 URI 没有改变,例如在单页应用程序上,如何检测用户是否在新页面上?
- angular - Angular Kendo UI 全局访问
- php - 内连接循环通过
- git - 如何 git rebase 从另一个分支直接到 master 分支?
- javascript - 受控数字比例映射