[英]Subtract two DataFrames with non overlapping indexes
我試圖一起減去兩個DataFrame。 我想將缺失值視為0. fillna()
在這里不起作用,因為在進行減法之前我不知道常用索引:
import pandas as pd
A = pd.DataFrame([1,2], index=['a','b'])
B = pd.DataFrame([3,4], index=['a','c'])
A - B
0
a -2
b NaN
c NaN
理想情況下,我希望:
A - B
0
a -2
b 2
c -4
是否可以在保持代碼簡單的同時實現這一目標?
您可以使用subtract
方法並指定fill_value
為零:
A.subtract(B, fill_value=0)
注意:下面的方法combineAdd
從0.17.0開始不推薦使用 。
一種方法是使用combineAdd
方法將-B
添加到A
:
>>> A.combineAdd(-B)
0
a -2
b 2
c -4
使用此方法,將添加兩個DataFrame,並且非匹配索引處的值默認為A
或B
的值。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.