簡體   English   中英

Python:減去兩個數據幀

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM