2017-02-06 59 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