基于重排重复项(或如何删除重排重复项)切片熊猫数据框[重复项]

问题描述 投票:0回答:1

我有一个格式很大的数据框

   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

如您所见,某些行是重复的,只有col1col2颠倒了。例如,行1是行0的副本,行4是行3的副本。您是否可以基于col1col2的匹配项与col2col1的匹配项删除重复项?

python pandas duplicates slice object-slicing
1个回答
1
投票
您可以按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

© www.soinside.com 2019 - 2024. All rights reserved.