кадров df1
и df2
, которые я хотел бы сложить вместе, чтобы получить 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'
, когда пробую два разных решения. Может кто-нибудь сообщить мне, где я ошибся, пожалуйста.
Спасибо