Heim >Backend-Entwicklung >Python-Tutorial >Wie ersetze ich Werte in einer DataFrame-Spalte basierend auf einer Bedingung?

Wie ersetze ich Werte in einer DataFrame-Spalte basierend auf einer Bedingung?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-10-30 23:51:301081Durchsuche

How to Replace Values in a DataFrame Column Based on a Condition?

Ersetzen von Werten in einer DataFrame-Spalte basierend auf der Bedingung

In diesem Szenario haben Sie einen DataFrame mit einer Spalte namens „Erste Staffel“. Sie möchten die Werte in dieser Spalte ändern und insbesondere diejenigen über 1990 durch den Wert 1 ersetzen. Während versucht wird, Werte mit df.loc[(df['First Season'] > 1990)] = 1 auszuwählen, Es ersetzt alle Werte in den ausgewählten Zeilen, anstatt nur auf die Spalte „Erste Staffel“ abzuzielen.

Um Werte innerhalb einer bestimmten Spalte basierend auf einer Bedingung effektiv zu ersetzen, ist es wichtig, die Spalte in den Auswahlkriterien klar anzugeben . Dies wird mit der folgenden Syntax erreicht:

<code class="python">df.loc[<mask>, <optional column(s)>]</code>

In Ihrem Fall wird die Maske verwendet, um Zeilen mit „Erste Staffel“-Werten größer als 1990 auszuwählen. Der folgende Code führt zum gewünschten Ergebnis:

<code class="python">df.loc[df['First Season'] > 1990, 'First Season'] = 1</code>

Wenn Sie alternativ einen booleschen Indikator erstellen möchten, können Sie die boolesche Bedingung verwenden, um eine boolesche Reihe zu generieren und True- und False-Werte mithilfe von .astype() in Ganzzahlen umzuwandeln. Dieser Ansatz generiert eine Spalte mit den Werten 1 (Wahr) und 0 (Falsch).

<code class="python">df['First Season'] = (df['First Season'] > 1990).astype(int)</code>

Das obige ist der detaillierte Inhalt vonWie ersetze ich Werte in einer DataFrame-Spalte basierend auf einer Bedingung?. 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