gpt4 book ai didi

python - 如何根据不同的列名合并两个数据框

转载 作者:行者123 更新时间:2023-11-30 22:55:13 32 4
gpt4 key购买 nike

import pandas as pd

left = pd.DataFrame({'A': ['A1', 'A1', 'A2', 'A3'],
'B': ['B0', 'B1', 'B2', 'B3'],
'C': ['K0', 'K1', 'K0', 'K1']})

right = pd.DataFrame({'AA': ['A1', 'A3'],
'BB': ['B0', 'B3'],
'CC': ['K0', 'K1'],
'DD': ['D0', 'D1']})

我想通过添加列DD来连接这两个数据框至leftDD 的值应根据比较A来选择和AA , BBB , CCC .

简单的连接情况如下所示,但在我的情况下,我需要比较具有不同名称的列,然后我只想添加 DDright .

result = left.join(right, on='DD')

结果应该是:

result = pd.DataFrame({'A': ['A1', 'A1', 'A2', 'A3'],
'B': ['B0', 'B1', 'B2', 'B3'],
'C': ['K0', 'K1', 'K0', 'K1'],
'DD': ['D0', NaN, NaN, 'D1']})

最佳答案

使用带有 left_onright_on 参数的 pandas merge 方法。

left.merge(right, how='left',
left_on=['A', 'B', 'C'],
right_on=['AA', 'BB', 'CC'])[['A', 'B', 'C', 'DD']]

让你:

    A   B   C   DD
0 A1 B0 K0 D0
1 A1 B1 K1 NaN
2 A2 B2 K0 NaN
3 A3 B3 K1 D1

关于python - 如何根据不同的列名合并两个数据框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37466614/

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