我有一个下面的df,其中包含ID的组合,如何删除相同的组合?对于前。前4行是相同的组合,但顺序不同。当它们以不同顺序但保留一个唯一组合时,是否可以删除所有重复组合?
Name ID1 Time ID2 Time
Chi 232 24:18.4 111 19:17.7
Chi 111 19:17.7 232 24:18.4
Ari 444 02:33.0 555 57:34.2
Ari 555 57:34.2 444 02:33.0
Ca 321 27:11.7 787 22:14.5
Ca 443 42:49.4 667 47:47.4
Ca 667 47:47.4 443 42:49.4
答案 0 :(得分:1)
您可以对ID
列进行排序以使用duplicated
创建掩码,然后为DataFrame编制索引。
u = df.filter(like='ID').values
m = pd.DataFrame(np.sort(u, axis=1)).duplicated()
df[~m]
Name ID1 Time1 ID2 Time2
0 Chi 232 24:18.4 111 19:17.7
2 Ari 444 02:33.0 555 57:34.2
4 Ca 321 27:11.7 787 22:14.5
5 Ca 443 42:49.4 667 47:47.4