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 .

Einen Kommentar hinzufügen

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