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!