Pandas合并并填充
Pandas merge and fill
portfolio_balance_dates_df.merge(historical_transfers_df, left_index=True, right_index=True)
现在我有了这个,但它删除了两个数据框中未包含的任何行。我想合并并保留所有行,并将不在 historical_transfers_df
中的日期填写为 0
。
然后我将使用新的合并数据框来减去当天的余额,以获得没有银行转账的历史余额。
这就是 historical_transfers_df
的样子:
historical transfers
2021-02-17 202.20
2021-02-14 71.27
2021-02-08 9967.89
...
这就是 portfolio_balance_dates_df
的样子:
portfolio balance
2020-01-09 4.420000
2020-01-10 4.270000
... ...
这是您要找的吗?使用 outer
合并和 fillna
与 0:
portfolio_balance_dates_df.merge(historical_transfers_df,
how='outer',
left_index=True,
right_index=True,
).fillna(0)
portfolio balance historical transfers
2020-01-09 4.42 0.00
2020-01-10 4.27 0.00
2021-02-08 0.00 9967.89
2021-02-14 0.00 71.27
2021-02-17 0.00 202.20
portfolio_balance_dates_df.merge(historical_transfers_df, left_index=True, right_index=True)
现在我有了这个,但它删除了两个数据框中未包含的任何行。我想合并并保留所有行,并将不在 historical_transfers_df
中的日期填写为 0
。
然后我将使用新的合并数据框来减去当天的余额,以获得没有银行转账的历史余额。
这就是 historical_transfers_df
的样子:
historical transfers
2021-02-17 202.20
2021-02-14 71.27
2021-02-08 9967.89
...
这就是 portfolio_balance_dates_df
的样子:
portfolio balance
2020-01-09 4.420000
2020-01-10 4.270000
... ...
这是您要找的吗?使用 outer
合并和 fillna
与 0:
portfolio_balance_dates_df.merge(historical_transfers_df,
how='outer',
left_index=True,
right_index=True,
).fillna(0)
portfolio balance historical transfers
2020-01-09 4.42 0.00
2020-01-10 4.27 0.00
2021-02-08 0.00 9967.89
2021-02-14 0.00 71.27
2021-02-17 0.00 202.20