Heim > Backend-Entwicklung > Python-Tutorial > Warum funktioniert meine Pandas-Methode „replace()' nicht für einfache String-Ersetzungen?

Warum funktioniert meine Pandas-Methode „replace()' nicht für einfache String-Ersetzungen?

Mary-Kate Olsen
Freigeben: 2024-11-02 09:48:02
Original
530 Leute haben es durchsucht

Why Isn't My Pandas `replace()` Method Working for Simple String Replacements?

Pandas replace() Methode funktioniert nicht? Probieren Sie diese einfache Lösung aus

Beim Versuch, Zeichenfolgen in einem Pandas-DataFrame mithilfe der Methode „replace()“ zu ersetzen, kann es zu einem rätselhaften Problem kommen, bei dem keine Ersetzung erfolgt. Im Gegensatz zu komplexen Ersetzungen handelt es sich in dieser Situation häufig um einfache Ersetzungsversuche.

Zur Veranschaulichung untersuchen wir den folgenden Datenrahmen:

d = {'color' : pd.Series(['white', 'blue', 'orange']),
   'second_color': pd.Series(['white', 'black', 'blue']),
   'value' : pd.Series([1., 2., 3.])}
df = pd.DataFrame(d)
Nach dem Login kopieren

Wenn wir versuchen, alle Vorkommen von „weiß“ durch zu ersetzen NaN, überraschenderweise passiert nichts:

df.replace('white', np.nan)
Nach dem Login kopieren

Die Ausgabe bleibt unverändert:

      color second_color  value
0   white        white      1
1    blue        black      2
2  orange         blue      3
Nach dem Login kopieren

Also, was ist schief gelaufen?

Es stellt sich heraus, dass der replace() Die Methode führt standardmäßig vollständige Ersetzungssuchen durch. Um teilweise Ersetzungen zu ermöglichen, müssen wir den Regex-Parameter auf True setzen:

df.replace('white', np.nan, regex=True)
Nach dem Login kopieren

Alternativ können wir die Methode str.replace() verwenden, die mehr Kontrolle über den Ersetzungsprozess bietet:

df['color'].str.replace('white', np.nan)
Nach dem Login kopieren

Bonus-Tipp: Wenn Sie erwägen, inplace=True zu verwenden, um die Ersetzung direkt durchzuführen, stellen Sie sicher, dass Sie die Vorbehalte verstehen.

Das obige ist der detaillierte Inhalt vonWarum funktioniert meine Pandas-Methode „replace()' nicht für einfache String-Ersetzungen?. 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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage