2017-02-06 7 views
6

Wenn ich einen Datenrahmen ähnlich wie diesePandas: sum up mehrere Spalten in einer Spalte

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

haben würde Ich mag eine Spalte wie diese

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

ich Sie df['Apples'] + df['Bananas'] verwenden könnte erraten hinzufügen und so weiter, aber mein tatsächlicher Datenrahmen ist viel größer als dieser. Ich hatte gehofft, eine Formel wie df['Fruit Total']=df[-4:-1].sum könnte den Trick in einer Zeile Code tun. Das hat aber nicht funktioniert. Gibt es eine Möglichkeit, dies ohne explizite Zusammenfassung aller Spalten zu tun?

+0

dort zu suchen. http://StackOverflow.com/Questions/25748683/Pandas-SUM-Dataflame-Rows-for-Given-columns – konstov

Antwort

6

Sie können zuerst von iloc wählen und dann 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

Ausgezeichnet. Iloc ist das, wonach ich gesucht habe. – Duudsrednaz

Verwandte Themen