Heim >Backend-Entwicklung >Python-Tutorial >Wie ersetze ich Werte in einer DataFrame-Spalte basierend auf einer Bedingung?
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!