我有一个 pandas 数据框,并希望根据 2 个特定列的任一条目是否重复来删除行,从第一行开始向下进行(保留第一个命中并删除其他重复项)。
例如从:
并且有一个所有条目都是唯一的输出(同时考虑两列 - 第四行被删除,因为第二列中的“蓝色”已经存在于第一行中):
最佳答案
我不知道以 col1 或 col2 方式而不是 AND 删除重复项的任何直接方法,但您可以简单地使用 for 循环在您想要的列上按顺序删除重复项。
for col in ['Group_1', 'Group_2']:
df.drop_duplicates(subset=col, inplace=True)
或
for col in df.columns[:2]:
df.drop_duplicates(subset=col, inplace=True)
它也会自动保留第一次出现,但您可以在方法中指定它:
df.drop_duplicates(subset=col, inplace=True, keep='first')
关于python - 同时基于2列删除python数据集中的重复项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68583388/