gpt4 book ai didi

python - 在不同的列名上合并两个不同的数据框

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

<分区>

我有两个数据框,

df1 = pd.DataFrame({'A': ['A1', 'A1', 'A2', 'A3'],
'B': ['121', '345', '123', '146'],
'C': ['K0', 'K1', 'K0', 'K1']})

df2 = pd.DataFrame({'A': ['A1', 'A3'],
'BB': ['B0', 'B3'],
'CC': ['121', '345'],
'DD': ['D0', 'D1']})

现在我需要从 df1 中的 A 列和 B 列以及从 df2 中的 A 列和 CC 中获取相似的行。所以我尝试了可能的合并选项,例如:

both_DFS=pd.merge(df1,df2, how='left',left_on=['A','B'],right_on=['A','CC'])

这不会给我来自 df2 数据帧的行信息,而这正是我所需要的。意思是,我有来自 df2 的所有列名,但行只是空的或 Nan。

然后我尝试了:

Both_DFs=pd.merge(df1,df2, how='left',left_on=['A','B'],right_on=['A','CC'])[['A','B','CC']]

这给了我错误,

KeyError: "['B'] not in index"

我的目标是拥有一个包含 df1 和 df2 中所有列的合并数据框。任何建议都会很棒

期望的输出:

 Both_DFs
A B C BB CC DD
0 A1 121 K0 B0 121 D0

所以在我的数据框(df1 和 df2)中,只有一行与感兴趣的两列完全匹配。也就是说,df1 中的 A 列和 B 列只有一行与 df2 中 A 列和 CC 列中的行完全匹配

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