Pandas DataFrame - Replace Multiple Values
Pandas DataFrame - Replace Multiple Values
To replace multiple values in a DataFrame, you can use DataFrame.replace() method with a dictionary of different replacements passed as argument.
Examples
1. Replace multiple values in a column
The syntax to replace multiple values in a column of DataFrame is
DataFrame.replace({'column_name' : { old_value_1 : new_value_1, old_value_2 : new_value_2}})
In the following example, we will use replace() method to replace 1 with 11 and 2 with 22 in column a.
Python Program
import pandas as pd
df = pd.DataFrame([
[4, -9, 8],
[1, 2, -4],
[2, 2, -8],
[0, 7, -4],
[2, 5, 1]],
columns=['a', 'b', 'c'])
df = df.replace({'a':{1:11, 2:22}})
print(df)
Output
a b c
0 4 -9 8
1 11 2 -4
2 22 2 -8
3 0 7 -4
4 22 5 1
2. Replace multiple values in multiple columns
The syntax to replace multiple values in multiple columns of DataFrame is
DataFrame.replace({'column_name_1' : { old_value_1 : new_value_1, old_value_2 : new_value_2},
'column_name_2' : { old_value_1 : new_value_1, old_value_2 : new_value_2}})
In the following example, we will use replace() method to replace 1 with 11 and 2 with 22 in column a; 5 with 55 and 2 with 22 in column b.
Python Program
import pandas as pd
df = pd.DataFrame([
[4, -9, 8],
[1, 2, -4],
[2, 2, -8],
[0, 7, -4],
[2, 5, 1]],
columns=['a', 'b', 'c'])
df = df.replace({'a':{1:11, 2:22}, 'b':{5:55, 2:22}})
print(df)
Output
a b c
0 4 -9 8
1 11 22 -4
2 22 22 -8
3 0 7 -4
4 22 55 1
Summary
In this tutorial of Python Examples, we learned how to replace multiple values in Pandas DataFrame in one or more columns.