gpt4 book ai didi

python - 如何加入/合并数据集?

转载 作者:行者123 更新时间:2023-12-01 03:04:42 26 4
gpt4 key购买 nike

我有两个数据框DF1DF2。我的目标是查找 DF2DF1 列 key ;并将返回结果保存在 DF3 中。有人可以帮我得到DF3

例如

DF1                         DF2
map test1 test2 No. outcome
A NaN NaN 1 AA
B NaN 5 2 BB
C 1 6 3 CC
D 2 7 4 DD
E 3 NaN 5 EE
F 4 NaN 6 FF
G 5 8 7 GG
H 6 9 8 HH
I 7 10 9 II
10 JJ
11 KK
12 LL
13 MM

DF3
map test1 test2 outcome1 outcome2
A NaN NaN NaN NaN
B NaN 5 NaN EE
C 1 6 AA FF
D 2 7 BB GG
E 3 NaN CC NaN
F 4 NaN DD NaN
G 5 8 EE HH
H 6 9 FF II
I 7 10 GG JJ

我目前正在使用两个连接函数,但这不是我需要的。它会删除 DF1 中的 NaN,并仅返回 test1test2 的重叠部分。

df3 = df1.merge(df2, how='inner', left_on='test1', right_on='No.')
df3 = df3.merge(df2, how='inner', left_on='test2', right_on='No.')

目前我的代码将返回以下内容:

DF3
map 测试 1 测试 2 结果 1 结果 2C 1 6 AA FFD 2 7 BB GGG 5 8 EE HHH 6 9 FF II我 7 10 GG JJ

最佳答案

在这种情况下, map 会更有效

DF3 = DF1.copy()
DF3['outcome1'] = DF1['test1'].map(DF2.set_index('No.')['outcome'])
DF3['outcome2'] = DF1['test2'].map(DF2.set_index('No.')['outcome'])

map test1 test2 outcome1 outcome2
0 A NaN NaN NaN NaN
1 B NaN 5.0 NaN EE
2 C 1.0 6.0 AA FF
3 D 2.0 7.0 BB GG
4 E 3.0 NaN CC NaN
5 F 4.0 NaN DD NaN
6 G 5.0 8.0 EE HH
7 H 6.0 9.0 FF II
8 I 7.0 10.0 GG JJ

关于python - 如何加入/合并数据集?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43527318/

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