gpt4 book ai didi

python - 在Python中Merge()两个Dataframe,查看ID的重复情况

转载 作者:太空宇宙 更新时间:2023-11-03 15:51:44 25 4
gpt4 key购买 nike

df1
'ID' 'Prod1' 'Prod2'
1 223 2B 3C
2 224 3C 2B
3 225 3C 4B

要查看“ID”重复项,我使用了合并:

dupli = pd.merge(df1, df1, how='inner', left_on='Prod1', right_on='Prod2')

我得到了:

dupli
'ID_x' 'ID_y' 'Prod1' 'Prod2'
1 223 224 2B 3C
2 224 223 3C 2B
3 225 223 3C 2B

但我想要这样的东西:

   'ID_x'    'ID_y'     'Prod1_x'  'Prod1_y'
1 223 224 2B 3C
2 224 223 3C 2B
3 225 Something 3C something

当我使用合并时,函数采用第一个值,但我希望函数替换并且采用第一个值,或者检查

Prod1==Prod2 and Prod2==Prod1

最佳答案

以下内容会生成您正在查找的结果表。要确保选中 Prod1==Prod2 和 Prod2==Prod1,只需合并 ['Prod1, 'Prod2']['Prod2', 'Prod1'] 使用左联接并选择所需的列。

(pd
.merge(df1, df1, how='left', left_on=['Prod1', 'Prod2'], right_on=['Prod2', 'Prod1'])
[['ID_x', 'ID_y', 'Prod1_x', 'Prod1_y']]
)

输出:

   ID_x   ID_y Prod1_x Prod1_y
0 223 224.0 2B 3C
1 224 223.0 3C 2B
2 225 NaN 3C NaN

关于python - 在Python中Merge()两个Dataframe,查看ID的重复情况,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41226372/

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