pandas Subtrahieren Sie das Datenframe mit einer Zeile von einem anderen Datenframe

7

Ich möchte alle Zeilen in einem Datenrahmen mit einer Zeile von einem anderen Datenrahmen subtrahieren. (Unterschied von einer Zeile)

Gibt es einen einfachen Weg, dies zu tun? (wie df-df2)

%Vor%

Hier ist eine Ausgabe, die für die erste Zeile funktioniert, aber ich möchte, dass auch die restlichen Zeilen abgezogen werden ...

%Vor%     
jonas 28.02.2014, 11:09
quelle

3 Antworten

13

Pandas NDFrames versuchen im Allgemeinen, Operationen mit Elementen mit übereinstimmenden Indizes auszuführen. df - df2 führt nur eine Subtraktion für die erste Zeile durch, weil die 0 indizierte Zeile die einzige Zeile mit einem gemeinsam genutzten Index ist.

Die Operation, die Sie suchen, ähnelt eher einer NumPy-Array-Operation, die mit "Broadcasting" ausgeführt wird:

%Vor%

Um das Ergebnis in einen Datenrahmen zu packen:

%Vor%     
unutbu 28.02.2014, 11:23
quelle
6

Das kannst du auch direkt in Pandas machen. (Ich habe df2 = df.loc[[0]] verwendet)

%Vor%     
Jeff 28.02.2014 12:57
quelle
1

Alternativ können Sie auch die Funktion apply für alle Zeilen von df verwenden.

%Vor%     
IPV3001 28.02.2014 13:09
quelle

Tags und Links