我有一个格式很大的数据框
col1 col2 val1 val2
[0]A B 0.8 0.1
[1]B A 0.8 0.1
[2]A C 0.3 0.9
[3]A D 0.2 0.8
[4]D A 0.2 0.8
如您所见,某些行是重复的,只有col1
和col2
颠倒了。例如,行1
是行0
的副本,行4
是行3
的副本。您是否可以基于col1
:col2
的匹配项与col2
:col1
的匹配项删除重复项?
np.sort
对两列进行排序并分配回来,然后在指定一些列时使用DataFrame.drop_duplicates
:DataFrame.drop_duplicates
在所有列中删除重复项:
df[['col1','col2']] = np.sort(df[['col1','col2']], axis=1) df1 = df.drop_duplicates(['col1','col2']) print (df1) col1 col2 val1 val2 0 A B 0.8 0.1 2 A C 0.3 0.9 3 A D 0.2 0.8