gpt4 book ai didi

python - Pandas 合并数据框

转载 作者:太空宇宙 更新时间:2023-11-04 09:58:37 24 4
gpt4 key购买 nike

我有几个要合并的数据框,但问题是它们没有相同的列,而且我只想合并特定的行。我将展示一个示例,这样会更容易:

MAIN_DF 我希望所有内容都合并到它:

key    A    B    C
0001 1 0 0
0002 1 1 1
0003 0 0 1

DF_1:

key    A    B    C   D
0001 1 0 0 1
0003 0 0 1 0
0004 1 1 1 1

DF_2:

key    C    D    E   F
0004 1 1 0 1
0005 0 0 1 0
0006 1 1 1 1

所以我想将它全部合并到 MAIN_DF,所以 MAIN_DF 将是:

key    A    B    C    D    E   F
0001 1 0 0 1 0 0
0002 1 1 1 0 0 0
0003 0 0 1 0 0 0
0004 0 0 0 1 0 1
0005 0 0 0 0 1 0
0006 0 0 0 1 1 1

查看列已更新并添加了新行。

是否可以在不进行又长又慢的循环和 if 语句的情况下用 pandas 做到这一点?

谢谢

最佳答案

我想你需要DataFrame.combine_first :

MAIN_DF = MAIN_DF.set_index('key')
DF_1 = DF_1.set_index('key')
DF_2 = DF_2.set_index('key')

df = MAIN_DF.combine_first(DF_1).combine_first(DF_2).fillna(0).astype(int).reset_index()
print (df)
key A B C D E F
0 0001 1 0 0 1 0 0
1 0002 1 1 1 0 0 0
2 0003 0 0 1 0 0 0
3 0004 1 1 1 1 0 1
4 0005 0 0 0 0 1 0
5 0006 0 0 1 1 1 1

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

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