Heim > Backend-Entwicklung > Python-Tutorial > Wie ersetze ich Werte in einer Pandas DataFrame-Spalte bedingt?

Wie ersetze ich Werte in einer Pandas DataFrame-Spalte bedingt?

DDD
Freigeben: 2024-12-31 17:13:13
Original
232 Leute haben es durchsucht

How to Conditionally Replace Values in a Pandas DataFrame Column?

Bedingte Werteersetzung in Pandas DataFrames

Bei der Arbeit mit Pandas DataFrames kann es vorkommen, dass Sie Werte basierend auf a bedingt ersetzen müssen angegebenen Zustand. Diese Frage veranschaulicht ein solches Szenario, in dem ein Benutzer versucht, Werte in einer bestimmten Spalte, die einen Schwellenwert überschreiten, durch Null zu ersetzen.

Zunächst versuchte der Benutzer, den folgenden Ansatz zu verwenden:

df[df.my_channel > 20000].my_channel = 0
Nach dem Login kopieren

Diese Methode brachte jedoch keine Ergebnisse. Dies liegt daran, dass Pandas den .ix-Indexer seit Version 0.20.0 veraltet hat und Benutzer stattdessen .loc- oder .iloc-Indexer verwenden sollten.

Die richtige Lösung besteht darin, .loc oder .iloc zu verwenden, um auf bestimmte Zeilen oder Spalten abzuzielen und führen Sie die bedingte Ersetzung durch. So können Sie .loc verwenden:

mask = df.my_channel > 20000
column_name = 'my_channel'
df.loc[mask, column_name] = 0
Nach dem Login kopieren

Alternativ können Sie dieselbe Aufgabe in einer Zeile mit .loc ausführen:

df.loc[df.my_channel > 20000, 'my_channel'] = 0
Nach dem Login kopieren

Die Maskenvariable hilft dabei, die Zeilen zu identifizieren, die die Anforderungen erfüllen die Bedingung df.my_channel > 20000 und df.loc[mask, columns_name] = 0 weist den ausgewählten Zeilen in der angegebenen Spalte 0 zu.

Hinweis: In diesem speziellen Szenario wird empfohlen, stattdessen .loc zu verwenden von .iloc, um einen NotImplementedError zu vermeiden, da eine ganzzahlbasierte boolesche Indizierung mit .iloc nicht unterstützt wird.

Das obige ist der detaillierte Inhalt vonWie ersetze ich Werte in einer Pandas DataFrame-Spalte bedingt?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage