繁体   English   中英

将一列的值与另一列的所有行进行比较

[英]Compare values from one column to another all rows

我有一个 dataframe 像:

df1

right     left

[a,b]     [c,d,e,f]

[b,c]     [a,d,e,f]

[c,d,e,f] [a,b]

第 1 行和第 3 行基本相同,我想删除重复项。

他们有办法做到这一点吗? 数据仅以这种方式构建。

我尝试在找到的命令下运行,但由于这些是列表,因此会引发错误:

df1.duplicated(subset = ['right', 'left'], keep = False)

错误:不可散列的类型:列表

为两列创建可哈希类型的元组,在列表理解中排序并通过Series.duplicated测试重复项:

L = [tuple(map(tuple, sorted(x))) for x in df[['right','left']].to_numpy()]
m = pd.Series(L, index=df.index).duplicated(keep = False)
print (m)
0     True
1    False
2     True
dtype: bool

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM