gpt4 book ai didi

python - 将两个 Pandas 数据帧添加在一起时出现关键错误

转载 作者:行者123 更新时间:2023-12-01 09:06:07 25 4
gpt4 key购买 nike

我想将框架 df1df2 添加在一起以形成 df3。部分数据框(因为它们很大)如下

df1:

            total_pnl_per_pos          invested    
date
2015-03-17 0.330533 145790.529585
2015-03-18 -0.132040 152116.458134
2015-03-19 0.189508 141114.361229
2015-03-20 0.346906 323712.355051
2015-03-21 -0.004500 149999.909424

df2:

            total_pnl_per_pos     invested  
date
2015-03-16 -0.009346 3843277.00
2015-03-17 -0.025422 4495925.00
2015-03-18 -0.093223 4233412.00
2015-03-19 -0.144945 4340475.00
2015-03-20 -0.030945 6107379.00

我希望 df3 成为 df1 + df1 并且看起来像:

            total_pnl_per_pos      invested
date
2015-03-16 -0.009346 3843277
2015-03-17 0.305111 4641715.53
2015-03-18 -0.225263 4385528.458
2015-03-19 0.044563 4481589.361
2015-03-20 0.315961 6431091.355
2015-03-21 -0.0045 149999.9094

请注意,df1 和 df2 按日期索引,并且每个数据帧中不一定具有相同的日期。

我尝试过使用:

df3= df1.set_index('date').add(df2.set_index('date'), fill_value=0).reset_index()

df3= pd.concat([df1, df2]).groupby('date').sum().reset_index()

但是,当我尝试两种不同的解决方案时,我收到了 KeyError: 'date' 错误。我哪里出错了?

最佳答案

看起来date已经是索引了。换句话说,您不能将date指定为索引两次。因此下面的方法可以工作:

df3 = df1.add(df2, axis='index', fill_value=0)

输出:

            total_pnl_per_pos      invested
date
2015-03-16 -0.009346 3.843277e+06
2015-03-17 0.305111 4.641716e+06
2015-03-18 -0.225263 4.385528e+06
2015-03-19 0.044563 4.481589e+06
2015-03-20 0.315961 6.431091e+06
2015-03-21 -0.004500 1.499999e+05

希望这有帮助。

关于python - 将两个 Pandas 数据帧添加在一起时出现关键错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52036505/

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