gpt4 book ai didi

python - 合并多个数据框 Pandas

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

我尝试将多个新数据框合并到一个主数据框中。假设主数据框:

      key1           key2
0 0.365803 0.259112
1 0.086869 0.589834
2 0.269619 0.183644
3 0.755826 0.045187
4 0.204009 0.669371

我尝试将以下 2 个数据集合并到主要数据集中,
新数据1:

        key1    key2    new feature
0 0.365803 0.259112 info1

新数据2:

        key1    key2    new feature
0 0.204009 0.669371 info2

预期结果:

       key1       key2  new feature
0 0.365803 0.259112 info1
1 0.776945 0.780978 NaN
2 0.275891 0.114998 NaN
3 0.667057 0.373029 NaN
4 0.204009 0.669371 info2

我尝试过的:

test = test.merge(data1, left_on=['key1', 'key2'], right_on=['key1', 'key2'], how='left')
test = test.merge(data2, left_on=['key1', 'key2'], right_on=['key1', 'key2'], how='left')

第一个效果很好,但第二个效果不好,我得到的结果:

        key1    key2    new feature_x   new feature_y
0 0.365803 0.259112 info1 NaN
1 0.776945 0.780978 NaN NaN
2 0.275891 0.114998 NaN NaN
3 0.667057 0.373029 NaN NaN
4 0.204009 0.669371 NaN info2

感谢您的帮助!

最佳答案

第一个appendconcat两个 DataFrame 在一起,然后 merge:

dat = pd.concat([data1, data2], ignore_index=True)

或者:

dat = data1.append(data2, ignore_index=True)

print (dat)
key1 key2 new feature
0 0.365803 0.259112 info1
1 0.204009 0.669371 info2

#if same joined columns names better is only on parameter
df = test.merge(dat, on=['key1', 'key2'], how='left')

print (df)
key1 key2 new feature
0 0.365803 0.259112 info1
1 0.086869 0.589834 NaN
2 0.269619 0.183644 NaN
3 0.755826 0.045187 NaN
4 0.204009 0.669371 info2

关于python - 合并多个数据框 Pandas ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51115262/

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