So erstellen sie eine neue spalte basierend auf einer bedingung in pandas
Häufig möchten Sie möglicherweise basierend auf bestimmten Bedingungen eine neue Spalte in einem Pandas-DataFrame erstellen.
Dieses Tutorial bietet mehrere Beispiele dafür, wie Sie dies mit dem folgenden DataFrame tun können:
import pandas as pd import numpy as np #createDataFrame 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]}) #view DataFrame df 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 eine neue Spalte mit dem Namen „Gut“ erstellt wird, wobei der Wert „Ja“ lautet, wenn die Punkte in einer bestimmten Zeile größer als 20 sind, andernfalls „Nein“:
#create new column titled 'Good' df['Good'] = np. where (df['points']>20, ' yes ', ' no ') #view DataFrame 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 eine neue Spalte mit dem Namen „Gut“ erstellt wird, in der der Wert lautet:
- „Ja“, wenn Punkte ≥ 25
- „Vielleicht“, wenn 15 ≤ Punkte < 25
- „Nein“, wenn Punkte < 15
#define function for classifying players based on points def f(row): if row['points'] < 15: val = 'no' elif row['points'] < 25: val = 'maybe' else : val = 'yes' return val #create new column 'Good' using the function above df['Good'] = df. apply (f, axis=1) #view DataFrame 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 Sie eine neue Spalte basierend auf einem Vergleich mit einer vorhandenen Spalte
Der folgende Code zeigt, wie eine neue Spalte namens „assist_more“ erstellt wird, in der der Wert lautet:
- „Ja“, wenn Assists > Rebounds.
- „Nein“, sonst.
#create new column titled 'assist_more' df['assist_more'] = np. where (df['assists']>df['rebounds'], ' yes ', ' no ') #view DataFrame 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 .