Remove duplicate rows from Pandas dataframe where only some columns have the same value(从 Pandas 数据框中删除只有某些列具有相同值的重复行)
问题描述
我有一个熊猫数据框如下:
I have a pandas dataframe as follows:
A B C
1 2 x
1 2 y
3 4 z
3 5 x
我希望只剩下 1 行在特定列中共享相同值的行.在上面的示例中,我的意思是列 A 和 B.换句话说,如果列 A 和 B 的值在数据框中多次出现,则应该只保留一行(哪一行无关紧要).
I want that only 1 row remains of rows that share the same values in specific columns. In the example above I mean columns A and B. In other words, if the values of columns A and B occur more than once in the dataframe, only one row should remain (which one does not matter).
FWIW:所谓重复行的最大数量(即列A和B相同)为2.
FWIW: the maximum number of so called duplicate rows (that is, where column A and B are the same) is 2.
结果应该是这样的:
A B C
1 2 x
3 4 z
3 5 x
或
A B C
1 2 y
3 4 z
3 5 x
推荐答案
使用 drop_duplicates
和参数 subset
,为了只保留最后重复的行添加 keep='last'
:p>
Use drop_duplicates
with parameter subset
, for keeping only last duplicated rows add keep='last'
:
df1 = df.drop_duplicates(subset=['A','B'])
#same as
#df1 = df.drop_duplicates(subset=['A','B'], keep='first')
print (df1)
A B C
0 1 2 x
2 3 4 z
3 3 5 x
<小时>
df2 = df.drop_duplicates(subset=['A','B'], keep='last')
print (df2)
A B C
1 1 2 y
2 3 4 z
3 3 5 x
这篇关于从 Pandas 数据框中删除只有某些列具有相同值的重复行的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:从 Pandas 数据框中删除只有某些列具有相同值的重
基础教程推荐
- 如何在Python中绘制多元函数? 2022-01-01
- 合并具有多索引的两个数据帧 2022-01-01
- 使 Python 脚本在 Windows 上运行而不指定“.py";延期 2022-01-01
- 哪些 Python 包提供独立的事件系统? 2022-01-01
- 使用 Google App Engine (Python) 将文件上传到 Google Cloud Storage 2022-01-01
- Python 的 List 是如何实现的? 2022-01-01
- 将 YAML 文件转换为 python dict 2022-01-01
- 使用Python匹配Stata加权xtil命令的确定方法? 2022-01-01
- 如何在 Python 中检测文件是否为二进制(非文本)文 2022-01-01
- 症状类型错误:无法确定关系的真值 2022-01-01