Heim  >  Artikel  >  Backend-Entwicklung  >  Wie kann ich Spaltenwerte in einem Pandas-DataFrame basierend auf Bedingungen selektiv ersetzen?

Wie kann ich Spaltenwerte in einem Pandas-DataFrame basierend auf Bedingungen selektiv ersetzen?

Patricia Arquette
Patricia ArquetteOriginal
2024-10-31 02:20:02738Durchsuche

How to Selectively Replace Column Values in a Pandas DataFrame Based on Conditions?

Pandas DataFrame: Ersetzen von Spaltenwerten basierend auf Bedingungen

In dieser Frage besteht das Ziel darin, Werte in der Spalte eines DataFrames basierend auf selektiv zu ersetzen eine Bedingung. Bei einem DataFrame, der Fußballmannschaften und ihre erste Saison enthält, möchten wir alle Werte in der Spalte „Erste Saison“, die über 1990 hinausgehen, durch 1 ersetzen.

Die bereitgestellte Lösung df.loc[(df['Erste Saison '] > 1990)] = 1, ersetzt fälschlicherweise alle Werte in den ausgewählten Zeilen, nicht nur die Zielspalte. Um dies zu beheben, müssen wir die zu ändernde Spalte angeben.

Die korrekte Syntax für diese Änderung lautet:

df.loc[df['First Season'] > 1990, 'First Season'] = 1

So funktioniert es:

  • df.loc[(df['Erste Staffel'] > 1990)]: Dadurch werden die Zeilen ausgewählt, in denen der Wert für 'Erste Staffel' größer als 1990 ist, wodurch effektiv die Beschriftungen generiert werden, die im DataFrame indiziert werden.
  • 'Erste Staffel': Dies gibt optional die Spalte an, in der die Ersetzung erfolgen soll.

Nach der Ausführung dieser Codezeile werden nur die 'Erste Staffel'-Werte ersetzt, die die angegebene Bedingung erfüllen 1, wobei der Rest des DataFrame erhalten bleibt.

Zusätzliche Überlegungen:

Wenn das gewünschte Ergebnis ein boolescher Indikator ist, können wir, anstatt Werte durch 1 zu ersetzen, verwenden boolesche Bedingung, um eine boolesche Reihe zu generieren und sie in einen ganzzahligen Datentyp umzuwandeln:

df['First Season'] = (df['First Season'] > 1990).astype(int)

Dadurch werden wahre Werte in 1 und falsche Werte in 0 konvertiert, wodurch ein boolescher Indikator in der Spalte „Erste Staffel“ erstellt wird.

Das obige ist der detaillierte Inhalt vonWie kann ich Spaltenwerte in einem Pandas-DataFrame basierend auf Bedingungen selektiv ersetzen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn