2016-12-06 10 views
3

DF1:引い2つのデータフレーム

City, 2015-12-31, 2016-01-31, ... 
YYZ 562.14, -701.18, ... 
DFW 562.14, -701.18, ... 
YYC 562.14, -701.18, ... 

DF2:

City, 2015-12-31, 2016-01-31, ... 
SFO 562.14, -701.18, ... 
PDX 562.14, -701.18, ... 
LAX 562.14, -701.18, ... 

は私がDF2からDF1を減算します。つまり、それぞれの日付列の値を減算する。

df2.subtract(df1, fill_value=0) 

しかし、私は次のエラーが表示されます:

は、私は、次の試してみました

TypeError: unsupported operand type(s) for -: 'str' and 'float' 

私は、エラーが操作が市欄に文字列を減算する方法を理解することができないためであると考えています都市を引くことは無意味なので、明らかに意味があります。

この投稿には受け入れられた回答[link]が示唆されているようです。私はその質問の著者ですが、今は動作させることができません。

答えて

4

[City]列をインデックスに移動します。 DataFramesは最初にインデックスとカラムの両方で整列してから減算を行います。存在しない組み合わせは、NaNとなります。

df2.set_index('City').subtract(df1.set_index('City'), fill_value=0) 
0

これは機能しますか?

df2.drop(['City']).subtract(df1.drop(['City'])) 
関連する問題