【发布时间】:2019-10-23 15:44:07
【问题描述】:
我是 pandas 的新手,我正在尝试从 CSV 文件的 2 列中获取重复值列表,我的数据框如下所示:
df = pd.read_csv('file.csv')
PID1 PID2
1 2
2 3
3 3
4 4
5 6
6 7
7 8
7 9
7 9
我试过用这个:
df.drop_duplicates('PID1', 'PID2', inplace=True)
print(df)
但我认为它不适用于 2 列。
预期的输出将是在我的 CSV 文件中添加一个标题为“重复项”的新列,并添加两列中的所有重复项,或者是一个包含所有重复值的简单列表。
Duplicates
2
3
4
6
7
【问题讨论】:
-
你想要
df['PID2'].drop_duplicates()吗? -
嗨@jezrael,我已经更新了我的问题。我想检查 PID1 中的值是否存在于 PID2 中。因此,由于 1 仅存在于 PID1 中,因此它不是重复的。由于 4 存在于 PID1 和 PID2 中,因此它是重复的。由于 9 在 PID2 中只存在两次,因此它不是重复的。
-
将多列作为序列传递,即列表或元组
df.drop_duplicates(subset = ['PID1', 'PID2'], inplace=True) -
是的,答案已编辑。现在很清楚了。