[英]Python: Subtract two DataFrames
我有兩個數據框:
df1:
A B C
Date
2022-01-01 0 100 0
2022-01-04 50 0 0
2022-02-08 0 0 200
df2:
A B C
Date
2022-01-01 0 200 0
2022-01-02 0 200 0
2022-02-03 0 200 0
2022-01-04 50 200 0
2022-01-05 100 200 0
2022-02-06 100 200 0
2022-01-07 100 200 0
2022-01-08 100 200 100
2022-02-09 100 200 300
我想從 df1 中減去 df2 得到以下結果
df:
A B C
Date
2022-01-01 0 100 0
2022-01-02 0 200 0
2022-02-03 0 200 0
2022-01-04 50 200 0
2022-01-05 100 200 0
2022-02-06 100 200 0
2022-01-07 100 200 0
2022-01-08 100 200 100
2022-02-09 100 200 300
但是, df1.subtract(df2)
會為不在 df1 中的索引生成空單元格。 是否有另一個這樣做,保留 df2 中的所有其他索引?
編輯: df
中的固定值
您需要添加一個fill_value
:
df1.subtract(df2, fill_value=0)
但是,鑒於提供的輸出,它看起來更像是您想要添加並將索引限制為df2
的索引:
df2.add(df1.reindex_like(df2), fill_value=0)
輸出:
A B C
Date
2022-01-01 0.0 300.0 0.0
2022-01-02 0.0 200.0 0.0
2022-02-03 0.0 200.0 0.0
2022-01-04 100.0 200.0 0.0
2022-01-05 100.0 200.0 0.0
2022-02-06 100.0 200.0 0.0
2022-01-07 100.0 200.0 0.0
2022-01-08 100.0 200.0 100.0
2022-02-09 100.0 200.0 300.0
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.