Ist es möglich, mehrere Spalten auf einmal zu einem Pandas DataFrame hinzuzufügen?

8

Wenn ich einen neuen Datenrahmen mit mehreren Spalten erstellen möchte, kann ich alle Spalten gleichzeitig hinzufügen - zum Beispiel wie folgt:

%Vor%

Aber jetzt nehmen Sie an, dass ich den Datenrahmen noch ein paar zusätzliche Spalten hinzufügen möchte. Gibt es eine Möglichkeit, sie alle gleichzeitig hinzuzufügen, wie in

%Vor%

Ich bin mir bewusst, dass ich das tun könnte:

%Vor%

Oder das:

%Vor%

Ich habe nur auf etwas saubereres gehofft. Wenn ich mit diesen zwei Optionen festhalte, was ist vorzuziehen?

    
dbliss 08.11.2013, 18:47
quelle

4 Antworten

1

Pandas hat assign Methode seit 0.16.0 . Sie könnten es auf Datenrahmen wie

verwenden %Vor%

oder Sie können das Wörterbuch direkt wie

verwenden %Vor%     
Zero 05.10.2017, 14:05
quelle
8

Was Sie brauchen, ist die Funktion join :

%Vor%

Beispiel:

%Vor%

Ausgabe:

%Vor%     
moenad 08.11.2013 18:56
quelle
7

Wenn Sie keinen neuen Datenrahmen von additional_data erstellen möchten, können Sie etwas wie folgt verwenden:

%Vor%

Es ist auch möglich, etwas ähnliches zu tun, aber es wäre ein neuer DataFrame, keine Inplace-Modifikation des bestehenden DataFrame:

%Vor%     
Roman Pekar 08.11.2013 19:20
quelle
0

Sie müssen lediglich die neuen Spalten mit Daten aus dem zusätzlichen Datenrahmen erstellen.

%Vor%

df sieht jetzt so aus:

%Vor%

Indizes aus dem ursprünglichen Datenrahmen werden verwendet, als ob Sie einen direkten Links-Join durchgeführt hätten. Daten aus dem ursprünglichen Datenrahmen in Spalten mit einem übereinstimmenden Namen im zusätzlichen Datenrahmen werden überschrieben. Zum Beispiel:

%Vor%

df sieht jetzt so aus:

%Vor%     
Zaros 21.08.2015 14:03
quelle

Tags und Links