Zusammenführen und Subtrahieren von Datenrahmenspalten in Pandas?

8

Ich habe einen Pandas DataFrame, etwas wie:

%Vor%

Ich möchte zwei Dinge tun:

1) Fügen Sie die Spalten 1 und 2 zusammen:

%Vor%

Ich habe versucht, .concat zu verwenden, aber das verkettet nur die Zeilen. Scheint nicht so, als könnte ich die Standardoperatoren + mit NaN-Werten verwenden.

2) Subtrahiere Spalte 5 von neuer Spalte 1 und Spalte 3, so dass ich am Ende:

%Vor%

Versucht es so:

%Vor%

und

%Vor%

funktioniert aber nicht.

    
user1566200 23.04.2015, 19:18
quelle

3 Antworten

10

Um die neue Spalte zu erhalten, könnten Sie fillna (oder combine_first ) verwenden:

%Vor%

Verwenden Sie dann für die Subtraktion sub und geben Sie axis=0 an, da wir die Zeilenindizes bei der Zuordnung von Labels berücksichtigen möchten (nicht die Spaltenindizes wie standardmäßig):

%Vor%     
Alex Riley 23.04.2015 19:25
quelle
5

Hier ist ein Ansatz.

Sie könnten newcol1 by sum(axis=1)

erstellen %Vor%

Verwenden Sie dann df.sub() auf axis=0

%Vor%     
Zero 23.04.2015 19:29
quelle
1
%Vor%

Sie können dann col1 und col2 löschen:

%Vor%     
EdChum 23.04.2015 19:21
quelle

Tags und Links