2017-02-06 96 views
6

如果我有類似這樣的熊貓:總結多列合併到一列

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

一個數據幀我想增加一列這樣

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

我想你可以使用df['Apples'] + df['Bananas']等等,但我的實際數據幀比這大得多。我希望像df['Fruit Total']=df[-4:-1].sum這樣的公式可以在一行代碼中實現。但這並不奏效。沒有明確總結所有列的方法嗎?

+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