簡體   English   中英

使用非重疊索引減去兩個DataFrame

[英]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,並且非匹配索引處的值默認為AB的值。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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