gpt4 book ai didi

python - 如果列的组合与 Panda Dataframe 相同,如何删除行

转载 作者:太空宇宙 更新时间:2023-11-04 09:29:37 25 4
gpt4 key购买 nike

我有一个 pandas 数据框,看起来像这样。

'Column1' 'Column2' 'Column3'
'cat' 'bat'. '100'
'toy' 'flower'. '80'
'bat' 'cat' '100'

如果第 1 列和第 2 列的组合在第 1 行和第 3 行中的 cat 和 bat 相同,我想删除 1 行。

生成的数据框应该只有。

'Column1'  'Column2' 'Column3'
'cat'. 'bat'. '100'
'toy'. 'flower'. '80'

最佳答案

首先按 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'

关于python - 如果列的组合与 Panda Dataframe 相同,如何删除行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56219530/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com