gpt4 book ai didi

python - 删除 pandas 数据框中的重复记录,但根据字母顺序保留一条记录

转载 作者:行者123 更新时间:2023-11-28 21:34:35 26 4
gpt4 key购买 nike

我交叉连接了一个查询并将其作为 Python 中的 DataFrame 返回。现在我有一个数据框 df,如下所示:

df = pd.DataFrame([['Peter', 'Tom',1], ['Sam', 'Ed',2], ['Tom', 'Peter',1], ['Ed', 'Sam',2]], columns=["Person 1", "Person 2", "Value"])


df
Person1 Person2 Value
0 Peter Tom 1
1 Sam Ed 2
2 Tom Peter 1
3 Ed Sam 2

但是,我需要删除重复项并仅保留每对的记录。我想根据字母表中的第一个名字来保留这对,并且我的最终数据框如下所示:

df_final

Person1 Person2 Value
0 Ed Sam 2
1 Peter Tom 1

最佳答案

您可以通过 np.sort 跨列排序然后drop_duplicates :

df_sorted = np.hstack((np.sort(df.iloc[:, :-1].values, axis=1),
df['Value'].values[:, None]))

res = pd.DataFrame(df_sorted, columns=df.columns)\
.drop_duplicates()

print(res)

Person 1 Person 2 Value
0 Peter Tom 1
1 Ed Sam 2

关于python - 删除 pandas 数据框中的重复记录,但根据字母顺序保留一条记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53146018/

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