Pandas: so erstellen sie eine spalte, wenn diese nicht vorhanden ist


Sie können die folgende grundlegende Syntax verwenden, um eine Spalte in einem Pandas-DataFrame zu erstellen, sofern diese noch nicht vorhanden ist:

 df[' my_column '] = df. get (' my_column ', df[' col1 '] * df[' col2 ']) 

Diese spezielle Syntax erstellt eine neue Spalte mit dem Namen my_column , wenn sie noch nicht im DataFrame vorhanden ist und als Produkt der vorhandenen Spalten col1 und col2 definiert ist.

Das folgende Beispiel zeigt, wie diese Syntax in der Praxis verwendet wird.

Beispiel: Erstellen Sie eine Spalte in Pandas, falls diese nicht vorhanden ist

Angenommen, wir haben den folgenden Pandas-DataFrame:

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' day ': [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12],
                   ' sales ': [4, 6, 5, 8, 14, 13, 13, 12, 9, 8, 19, 14],
                   ' price ': [1, 2, 2, 1, 2, 4, 4, 3, 3, 2, 2, 3]})

#view DataFrame
print (df)

    day sales price
0 1 4 1
1 2 6 2
2 3 5 2
3 4 8 1
4 5 14 2
5 6 13 4
6 7 13 4
7 8 12 3
8 9 9 3
9 10 8 2
10 11 19 2
11 12 14 3

Nehmen wir nun an, wir versuchen, eine Spalte mit dem Namen „Preis“ hinzuzufügen, sofern diese noch nicht vorhanden ist, und sie als Spalte zu definieren, in der jeder Wert 100 beträgt:

 #attempt to add column called 'price'
df[' price '] = df. get (' price ', 100)    

#view updated DataFrame
print (df)

    day sales price
0 1 4 1
1 2 6 2
2 3 5 2
3 4 8 1
4 5 14 2
5 6 13 4
6 7 13 4
7 8 12 3
8 9 9 3
9 10 8 2
10 11 19 2
11 12 14 3

Da bereits eine Spalte mit dem Namen „ price“ vorhanden ist, fügt Pandas diese einfach nicht zum DataFrame hinzu.

Nehmen wir jedoch an, wir versuchen, eine neue Spalte mit dem Namen „ Umsatz “ hinzuzufügen, sofern diese noch nicht vorhanden ist, und definieren sie als eine Spalte, in der die Werte das Produkt der Spalten „Umsatz“ und „Preis“ sind:

 #attempt to add column called 'revenue'
df[' revenue '] = df. get (' revenue ', df[' sales '] * df[' price '])

#view updated DataFrame
print (df)

    day sales price revenue
0 1 4 1 4
1 2 6 2 12
2 3 5 2 10
3 4 8 1 8
4 5 14 2 28
5 6 13 4 52
6 7 13 4 52
7 8 12 3 36
8 9 9 3 27
9 10 8 2 16
10 11 19 2 38
11 12 14 3 42

Diese Umsatzspalte wird dem DataFrame hinzugefügt, da sie noch nicht vorhanden war.

Zusätzliche Ressourcen

In den folgenden Tutorials wird erläutert, wie andere gängige Vorgänge in Pandas ausgeführt werden:

So löschen Sie Zeilen in Pandas DataFrame basierend auf der Bedingung
So filtern Sie einen Pandas DataFrame nach mehreren Bedingungen
So verwenden Sie den „NOT IN“-Filter in Pandas DataFrame

Einen Kommentar hinzufügen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert