从 Pandas 数据框中删除只有某些列具有相同值的重复行
- 作者: 风过胯下蛋蛋凉
- 来源: 51数据库
- 2022-10-27
问题描述
我有一个熊猫数据框如下:
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
推荐阅读
热点文章
Discord.py(重写)on_member_update 无法正常工作
0
Discord.py 在 vc 中获取用户分钟数
0
discord.py 重写 |为我的命令出错
0
Discord.py rewrite 如何 DM 命令?
0
播放音频时,最后一部分被切断.如何解决这个问题?(discord.py)
0
在消息删除消息 Discord.py
0
如何使 discord.py 机器人私人/直接消息不是作者的人?
0
(Discord.py) 如何获取整个嵌入内容?
0
Discord bot 尽管获得了许可,但不能提及所有人
0
Discord.py discord.NotFound 异常
0
