を引き:私のデータフレームは、このようになりますデータフレームの各行にベクトル
fruits = pd.DataFrame({'orange': [10, 20], 'apple': [30, 40], 'banana': [50, 60]})
apple banana orange
0 30 50 10
1 40 60 20
そして、私はこのベクトル(そのものデータフレーム)
sold = pd.DataFrame({'orange': [1], 'apple': [2], 'banana': [3]})
apple banana orange
0 2 3 1
を持っている私は、このベクトルを減算したいですこの
apple banana orange
0 28.0 47.0 9.0
1 38.0 57.0 19.0
ように見えるデータフレームを取得するために最初のデータフレームの各行は、私が試した:
print fruits.subtract(sold, axis = 0)
、出力はそれが最初の行のためだけに働い
apple banana orange
0 28.0 47.0 9.0
1 NaN NaN NaN
です。私は各行のベクトルで満たされたデータフレームを作成することができました。このベクトルを減算するより効率的な方法はありますか?私はループを使いたくない。
小文字:dfsを正しく整列させるために(軸パラメータ付きの)サブメソッドを使用すると仮定しますが、解答で説明したように、そのためのシリーズが必要です。シリーズを作ったら、 'fruits-sold.squeeze()'や 'fruits-sold.iloc [0、:]'を使うこともできます。 – ayhan