2017-02-06 4 views
6

私はこの1つパンダ:1列に合計まで複数の列

Apples Bananas Grapes Kiwis 
2  3   nan  1 
1  3   7  nan 
nan  nan  2  3 

に似たデータフレームを持っている場合、私はあなたがdf['Apples'] + df['Bananas']を使用することができると思います。この

Apples Bananas Grapes Kiwis Fruit Total 
2  3   nan  1  6 
1  3   7  nan  11 
nan  nan  2  3  5 

のように列を追加したいと思います実際のデータフレームはこれよりはるかに大きいです。私はdf['Fruit Total']=df[-4:-1].sumのような式が1行のコードでトリックを行うことができると期待していました。しかし、それは動作しませんでした。明示的にすべての列を集計する必要はありませんか?

+0

が見て。 http://stackoverflow.com/questions/25748683/pandas-sum-dataframe-rows-for-given-columns – konstov

答えて

6

最初ilocによって選択し、次にsumことができます。

df['Fruit Total']= df.iloc[:, -4:-1].sum(axis=1) 
print (df) 
    Apples Bananas Grapes Kiwis Fruit Total 
0  2.0  3.0  NaN 1.0   5.0 
1  1.0  3.0  7.0 NaN   11.0 
2  NaN  NaN  2.0 3.0   2.0 
+0

優れています。 ilocは私が探していたものです。 – Duudsrednaz

関連する問題