基于重排的重复数据对数据帧进行切片(或如何删除重排的重复数据)

2024-04-26 12:13:15 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个大的数据框

   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的匹配,可以删除重复项吗


Tags: 数据col2col1val1val2行是
1条回答
网友
1楼 · 发布于 2024-04-26 12:13:15

您可以按np.sort对这两个列进行排序并向后分配,然后使用^{}指定一些列:

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

按所有列删除重复项:

df2 = df.drop_duplicates()
print (df2)
  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

相关问题 更多 >