我有一个看起来像这样的熊猫数据框。
'Column1' 'Column2' 'Column3'
'cat' 'bat'. '100'
'toy' 'flower'. '80'
'bat' 'cat' '100'
如果在这种情况下,第1行和第3行中的cat和bat,第1列和第2列的组合相同,我想删除1行。
结果数据框应只包含
。'Column1' 'Column2' 'Column3'
'cat'. 'bat'. '100'
'toy'. 'flower'. '80'
答案 0 :(得分:4)
首先通过np.sort
进行排序以提高性能,创建DataFrame
并使用DataFrame.duplicated
用boolean indexing
进行过滤,并用~
进行倒置屏蔽:
mask = pd.DataFrame(np.sort(df[['Column1','Column2']], axis=1), index=df.index).duplicated()
df1 = df[~mask]
print (df1)
Column1 Column2 Column3
0 'cat' 'bat' '100'
1 'toy' 'flower' '80'