Pandas DataFrame DataFrame.replace()-Funktion
-
Syntax von
pandas.DataFrame.replace(): -
Beispiel-Codes: Ersetzen von Werten in DataFrame unter Verwendung von
pandas.DataFrame.replace() -
Beispiel-Codes: Ersetzen mehrerer Werte in DataFrame mit
pandas.DataFrame.replace()
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 is a backend software engineer at Matrice.ai.
LinkedIn