Heim >Backend-Entwicklung >Python-Tutorial >Wie ersetze ich bestimmte Werte in einer Pandas-DataFrame-Spalte basierend auf Bedingungen?
Pandas DataFrame: Gezielte Werteersetzung basierend auf Bedingungen
In Pandas ist es oft notwendig, bestimmte Werte innerhalb eines DataFrame basierend auf bestimmten Kriterien zu ändern . Während ein gängiger Ansatz darin besteht, loc zum Auswählen von Zeilen zu verwenden, ist es wichtig zu verstehen, wie man eine bestimmte Spalte für die Wertänderung genau anvisiert.
Betrachten Sie den folgenden DataFrame, in dem wir Werte in der „Ersten Staffel“ ersetzen möchten. Spalte, die 1990 überschreitet, mit der Ganzzahl 1:
Team First Season Total Games 0 Dallas Cowboys 1960 894 1 Chicago Bears 1920 1357 2 Green Bay Packers 1921 1339 3 Miami Dolphins 1966 792 4 Baltimore Ravens 1996 326 5 San Franciso 49ers 1950 1003
Ein erster Versuch, nur die Loc-Funktion zu verwenden, führte dazu, dass alle Werte in den ausgewählten Zeilen ersetzt wurden und nicht nur die Zielspalte. Um dies zu beheben, müssen wir die Spalte „Erste Staffel“ explizit als zweites Argument für loc angeben:
df.loc[df['First Season'] > 1990, 'First Season'] = 1
Dieser gezielte Ansatz stellt sicher, dass nur die Werte in der Spalte „Erste Staffel“ die Bedingung erfüllen durch 1 ersetzt, wobei die anderen Spalten unberührt bleiben.
Team First Season Total Games 0 Dallas Cowboys 1960 894 1 Chicago Bears 1920 1357 2 Green Bay Packers 1921 1339 3 Miami Dolphins 1966 792 4 Baltimore Ravens 1 326 5 San Franciso 49ers 1950 1003
Alternativ können Sie, wenn das gewünschte Ergebnis ein boolescher Indikator ist, die Bedingung verwenden, um eine boolesche Reihe zu erstellen und diese in ganze Zahlen umzuwandeln, wobei Wahr und Falsch gelten in 1 bzw. 0 übersetzen:
df['First Season'] = (df['First Season'] > 1990).astype(int)
Dieser Ansatz ergibt einen DataFrame mit aktualisierten Werten:
Team First Season Total Games 0 Dallas Cowboys 0 894 1 Chicago Bears 0 1357 2 Green Bay Packers 0 1339 3 Miami Dolphins 0 792 4 Baltimore Ravens 1 326 5 San Franciso 49ers 0 1003
Das obige ist der detaillierte Inhalt vonWie ersetze ich bestimmte Werte in einer Pandas-DataFrame-Spalte basierend auf Bedingungen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!