Heim  >  Artikel  >  Backend-Entwicklung  >  Warum ersetzt mein Pandas-DataFrame Werte nicht durch „replace()“?

Warum ersetzt mein Pandas-DataFrame Werte nicht durch „replace()“?

Linda Hamilton
Linda HamiltonOriginal
2024-10-27 02:17:30119Durchsuche

Why Isn't My Pandas DataFrame Replacing Values with `replace()`?

Warum ersetzt die Methode replace() keine Werte in My Pandas DataFrame?

Obwohl versucht wurde, bestimmte Zeichenfolgen auf einfache Weise durch NaN zu ersetzen DataFrame scheint die Methode replace() wirkungslos zu sein. Zum Beispiel:

<code class="python">d = {'color' : pd.Series(['white', 'blue', 'orange']),
   'second_color': pd.Series(['white', 'black', 'blue']),
   'value' : pd.Series([1., 2., 3.])}
df = pd.DataFrame(d)
df.replace('white', np.nan)</code>

Die erwartete Ausgabe, bei der „weiße“ Werte durch NaN ersetzt werden, wird nicht erreicht. Stattdessen bleibt der DataFrame unverändert.

Eine Lösung: Teilweise Ersetzungen mit regex=True aktivieren

Standardmäßig führt die Methode replace() vollständige Zeichenfolgenersetzungen durch. Um teilweise Ersetzungen zu ermöglichen, muss der Regex-Parameter auf True gesetzt sein. Diese kleine Änderung ermöglicht es uns, bestimmte Zeichenfolgen an einer beliebigen Stelle im DataFrame zu ersetzen:

<code class="python">df.replace('white', np.nan, regex=True)</code>

Mit dieser Änderung ersetzt der DataFrame alle Vorkommen von „white“ korrekt durch NaN.

Das obige ist der detaillierte Inhalt vonWarum ersetzt mein Pandas-DataFrame Werte nicht durch „replace()“?. 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