Oft möchten Sie möglicherweise eine neue Spalte in einem Pandas-DataFrame erstellen, basierend auf einer bestimmten Bedingung.

Dieses Tutorial enthält einige Beispiele dafür, wie Sie dies mit dem folgenden DataFrame tun können:

import pandas as pd
import numpy as np

#Dataframe erstellen
df = pd.DataFrame({'rating': [90, 85, 82, 88, 94, 90, 76, 75, 87, 86],
                   'points': [25, 20, 14, 16, 27, 20, 12, 15, 14, 19],
                   'assists': [5, 7, 7, 8, 5, 7, 6, 9, 9, 5],
                   'rebounds': [11, 8, 10, 6, 6, 9, 6, 10, 10, 7]})

#Dataframe anzeigen
    rating  points  assists rebounds
0   90  25  5   11
1   85  20  7   8
2   82  14  7   10
3   88  16  8   6
4   94  27  5   6
5   90  20  7   9
6   76  12  6   6
7   75  15  9   10
8   87  14  9   10
9   86  19  5   7

Beispiel 1: Erstellen Sie eine neue Spalte mit Binärwerten

Der folgende Code zeigt, wie Sie eine neue Spalte mit dem Namen "Good" erstellen, wobei der Wert "yes" lautet, wenn die Punkte in einer bestimmten Zeile über 20 liegen, und "no", wenn nicht:

# Neue Spalte mit dem Titel 'Good' erstellen
df['Good'] = np.where(df['points']>20, 'yes', 'no')

# Dataframe anzeigen 
df

        rating  points  assists rebounds  Good
0   90  25  5   11    yes
1   85  20  7   8     no
2   82  14  7   10    no
3   88  16  8   6     no
4   94  27  5   6     yes
5   90  20  7   9     no
6   76  12  6   6     no
7   75  15  9   10    no
8   87  14  9   10    no
9   86  19  5   7     no

Beispiel 2: Erstellen Sie eine neue Spalte mit mehreren Werten

Der folgende Code zeigt, wie Sie eine neue Spalte mit dem Namen "Good" erstellen, in der der Wert lautet:

  • 'yes' wenn die Punkte ≥ 25 sind
  • 'maybe' wenn 15 ≤ Punkte <25
  • 'no' wenn Punkte <15
# Funktion zum Klassifizieren von Spielern anhand von Punkten definieren
def f(row):
    if row['points'] < 15:
        val = 'no'
    elif row['points'] < 25:
        val = 'maybe'
    else:
        val = 'yes'
    return val

# Neue Spalte 'Good' mit der obigen Funktion erstellen
df['Good'] = df.apply(f, axis=1)

# Dataframe anzeigen 
df

        rating  points  assists rebounds Good
0   90  25  5   11   yes
1   85  20  7   8    maybe
2   82  14  7   10   no
3   88  16  8   6    maybe
4   94  27  5   6    yes
5   90  20  7   9    maybe
6   76  12  6   6    no
7   75  15  9   10   maybe
8   87  14  9   10   no
9   86  19  5   7    maybe

Beispiel 3: Erstellen einer neuen Spalte basierend auf dem Vergleich mit der vorhandenen Spalte

Der folgende Code zeigt, wie Sie eine neue Spalte mit dem Namen 'assist_more' erstellen, in der der Wert lautet:

  • 'yes' wenn assists > rebounds.
  • Sonst 'no'.
# Erstellen Sie eine neue Spalte mit dem Titel 'assist_more'.
df['assist_more'] = np.where(df['assists']>df['rebounds'], 'yes', 'no')

# Dataframe anzeigen 
df

        rating  points  assists rebounds assist_more
0   90  25  5   11   no
1   85  20  7   8    no
2   82  14  7   10   no
3   88  16  8   6    yes
4   94  27  5   6    no
5   90  20  7   9    no
6   76  12  6   6    no
7   75  15  9   10   no
8   87  14  9   10   no
9   86  19  5   7    no

Weitere Python-Tutorials finden Sie hier.

Statistik: Der Weg zur Datenanalyse

* Amazon Affiliate Link


Das könnte Sie auch interessieren: