gpt4 book ai didi

python - Pandas :在公共(public)列上添加两个数据框

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

我有 2 个表,它们具有相同的列,我想在键匹配的地方添加数字,如果它不匹配,那么只需按输出 df 中的原样添加它。我先尝试组合、合并、连接并加入.. 他们都为 t1 和 t2 创建了 2 个单独的列,但它是相同的键,所以应该在一起我知道这将是非常基本的东西.. 有人可以帮忙吗?谢谢虚拟机!

 df1:
t1 a b
0 USD 2,877 -2,418
1 CNH 600 -593
2 AUD 756 -106
3 JPY 113 -173
4 XAG 8 0

df2:
t2 a b
0 CNH 64 -44
1 USD 756 -774
2 JPY 1,127 -2,574
3 TWO 56 -58
4 TWD 38 -231

Output:
t a b
USD 3,634 -3,192
CNH 664 -637
AUD 756 -106
JPY 1,240 -2,747
XAG 8 0
TWO 56 -58
TWD 38 -231

最佳答案

第一个set_index在第一列的 DataFrames 中,然后使用 add带参数 fill_value=0:

print (df1.set_index('t1').add(df2.set_index('t2'), fill_value=0)
.reset_index()
.rename(columns={'index':'t'}))

t a b
0 AUD 756.0 -106.0
1 CNH 664.0 -637.0
2 JPY 1240.0 -2747.0
3 TWD 38.0 -231.0
4 TWO 56.0 -58.0
5 USD 3633.0 -3192.0
6 XAG 8.0 0.0

如果需要将输出转换为int:

print (df1.set_index('t1').add(df2.set_index('t2'), fill_value=0)
.astype(int)
.reset_index()
.rename(columns={'index':'t'}))

t a b
0 AUD 756 -106
1 CNH 664 -637
2 JPY 1240 -2747
3 TWD 38 -231
4 TWO 56 -58
5 USD 3633 -3192
6 XAG 8 0

关于python - Pandas :在公共(public)列上添加两个数据框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39010614/

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