gpt4 book ai didi

python - 删除重复行,如果包含所有相同的值

转载 作者:行者123 更新时间:2023-11-28 22:25:10 24 4
gpt4 key购买 nike

我有一个 Dataframe 如下:

df = pd.DataFrame({'first' : ['John', 'Mary','Peter'],
'last' : ['Mary', 'John','Mary']})

df
Out[700]:
first last
0 John Mary
1 Mary John
2 Peter Mary

我想在行包含相同值时删除重复项在这种情况下,预期的输出将是:

   first  last  
0 John Mary
2 Peter Mary

以下是我目前的做法:

df['DropKey']=df.apply(lambda x: ''.join(sorted(pd.Series(x))),axis=1)
df.drop_duplicates('DropKey')

有什么有效的方法可以做到这一点吗?

我的真实数据大小:

df.shape
Out[709]: (10000, 607)

最佳答案

In [13]: pd.DataFrame(np.sort(df.values, axis=1), columns=df.columns).drop_duplicates()
Out[13]:
first last
0 John Mary
2 Mary Peter

或:

In [18]: df.values.sort(axis=1)  # NOTE: it sorts DF in-place

In [19]: df
Out[19]:
first last
0 John Mary
1 John Mary
2 Mary Peter

In [20]: df.drop_duplicates()
Out[20]:
first last
0 John Mary
2 Mary Peter

关于python - 删除重复行,如果包含所有相同的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45701346/

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