Pandas DataFrame DataFrame.replace()-Funktion

Suraj Joshi 30 Januar 2023
  1. Syntax von pandas.DataFrame.replace():
  2. Beispiel-Codes: Ersetzen von Werten in DataFrame unter Verwendung von pandas.DataFrame.replace()
  3. Beispiel-Codes: Ersetzen mehrerer Werte in DataFrame mit pandas.DataFrame.replace()
Pandas DataFrame DataFrame.replace()-Funktion

pandas.DataFrame.replace() ersetzt Werte in DataFrame durch andere Werte, die Zeichenkette, Regex, Liste, Dictionary, Series oder eine Zahl sein können.

Syntax von pandas.DataFrame.replace():

DataFrame.replace(,
                  to_replace=None,
                  value=None,
                  inplace=False,
                  limit=None,
                  regex=False,
                  method='pad')

Parameter

to_replace Zeichenkette, Regex, Liste, Dictionary, Serie, numerisch oder None. Werte im DataFrame, die ersetzt werden müssen
value skalar, dict, list, string, regex oder None. Wert, um alle Werte zu ersetzen, die to_replace mit
inplace Boolesch. Wenn True den Aufrufer DataFrame modifiziert
limit Ganze Zahl. Maximale Größe der Lücke zum Füllen vorwärts oder rückwärts
regex Boolesch. Setzen Sie regex auf True, wenn to_replace und/oder value ein regex ist.
method Zum Austausch verwendete Methode

Rückkehr

Es gibt einen DataFrame zurück, der alle angegebenen Felder durch den angegebenen value ersetzt.

Beispiel-Codes: Ersetzen von Werten in DataFrame unter Verwendung von pandas.DataFrame.replace()

import pandas as pd
df = pd.DataFrame({'X': [1, 2, 3,],
                   'Y': [4, 1, 8]})
print("Before Replacement")
print(df)  
replaced_df=df.replace(1, 5)
print("After Replacement")
print(replaced_df)

Ausgabe:

Before Replacement
   X  Y
0  1  4
1  2  1
2  3  8
After Replacement
   X  Y
0  5  4
1  2  5
2  3  8

Hier steht 1 für den Parameter to_replace und 5 für den Parameter value in der Methode replace(). Daher werden alle Einträge mit dem Wert 1 in der df durch 5 ersetzt.

Beispiel-Codes: Ersetzen mehrerer Werte in DataFrame mit pandas.DataFrame.replace()

Ersetzen durch Listen

import pandas as pd
df = pd.DataFrame({'X': [1, 2, 3,],
                   'Y': [4, 1, 8]})
print("Before Replacement")
print(df)  
replaced_df=df.replace([1,2,3],[1,4,9])
print("After Replacement")
print(replaced_df)

Ausgabe:

Before Replacement
   X  Y
0  1  4
1  2  1
2  3  8
After Replacement
   X  Y
0  1  4
1  4  1
2  9  8

Hier steht [1,2,3] für den Parameter to_replace und [1,4,9] für den Parameter value in der Methode replace(). Daher wird die Spalte [1,2,3] im df durch [1,4,9] ersetzt.

Ersetzen unter Verwendung von Wörterbüchern

import pandas as pd
df = pd.DataFrame({'X': [1, 2, 3,],
                   'Y': [3, 1, 8]})
print("Before Replacement")
print(df)  
replaced_df=df.replace({1:10,3:30})
print("After Replacement")
print(replaced_df)

Ausgabe:

Before Replacement
   X  Y
0  1  3
1  2  1
2  3  8
After Replacement
    X   Y
0  10  30
1   2  10
2  30   8

Sie ersetzt alle Elemente mit dem Wert 1 durch 10 und alle Elemente mit dem Wert 3 durch 30.

Ersetzen mit Regex

import pandas as pd
df = pd.DataFrame({'X': ["zeppy", "amid", "amily"],
                   'Y': ["xar", "abc", "among"]})
print("Before Replacement")
print(df)  
df.replace(to_replace=r'^ami.$', value='song', regex=True,inplace=True)
print("After Replacement")
print(df)

Ausgabe:

Before Replacement
       X      Y
0  zeppy    xar
1   amid    abc
2  amily  among
After Replacement
       X      Y
0  zeppy    xar
1   song    abc
2  amily  among

Es ersetzt alle Elemente mit den ersten drei Zeichen als ami, gefolgt von einem beliebigen Zeichen mit song. Hier erfüllt nur amid die gegebenen Regex und daher wird nur amid durch song ersetzt. Obwohl amily auch die ersten drei Zeichen ami hat, gibt es zwei Zeichen nach ami. Daher erfüllt amily den gegebenen Regex nicht, und daher bleibt amily gleich und wird nicht ersetzt. Wenn Sie Regex verwenden, stellen Sie sicher, dass regex auf True gesetzt ist und inplace=True den ursprünglichen DataFrame modifiziert, nachdem Sie die replace() Methode darauf aufgerufen haben.

Suraj Joshi avatar Suraj Joshi avatar

Suraj Joshi is a backend software engineer at Matrice.ai.

LinkedIn

Verwandter Artikel - Pandas DataFrame