Python | Pandas dataframe.replace() (original) (raw)

Last Updated : 11 Jul, 2024

Pandas **dataframe.replace() function is used to replace a string, regex, list, dictionary, series, number, etc. from a Pandas Dataframe in Python. Every instance of the provided value is replaced after a thorough search of the full DataFrame.

Pandas dataframe.replace() Method Syntax

**Syntax: DataFrame.replace(to_replace=None, value=None, inplace=False, limit=None, regex=False, method=’pad’, axis=None)

**Parameters:

**Returns: filled : NDFrame

**Simple Example of Pandas dataframe.replace()

Here, we are replacing 49.50 with 60.

Python `

import pandas as pd

df = { "Array_1": [49.50, 70], "Array_2": [65.1, 49.50] }

data = pd.DataFrame(df)

print(data.replace(49.50, 60))

`

**Output:

Array_1 Array_2
0 60.0 65.1
1 70.0 60.0

Replace Values in Pandas Dataframe Examples

Here, we are going to see the implementation of dataframe.replace() methods with the help of some examples. For a link to the CSV file Used in Code, click here

Python `

importing pandas as pd

import pandas as pd

Making data frame from the csv file

df = pd.read_csv("nba.csv")

Printing the first 10 rows of the data frame for visualization

df[:10]

`

**Output:

Example 1: Replacing a Single Value

We are going to replace team “Boston Celtics” with “Omega Warrior” in the ‘df’ Dataframe.

Python `

this will replace "Boston Celtics" with "Omega Warrior"

df.replace(to_replace="Boston Celtics", value="Omega Warrior")

`

**Output:

**Example 2: Replacing Two Values with a Single Value

Replacing more than one value at a time. Using python list as an argument We are going to replace team “Boston Celtics” and “Texas” with “Omega Warrior” in the ‘df’ Dataframe.

Python `

importing pandas as pd

import pandas as pd

Making data frame from the csv file

df = pd.read_csv("nba.csv")

this will replace "Boston Celtics" and "Texas" with "Omega Warrior"

df.replace(to_replace=["Boston Celtics", "Texas"], value="Omega Warrior")

`

**Output:

Notice the College column in the first row, “Texas” has been replaced with “Omega Warriors”

**Example 3: Replacing Nan With a Random Integer Value

Replace the Nan value in the data frame with the -99999 value.

Python `

importing pandas as pd

import pandas as pd

Making data frame from the csv file

df = pd.read_csv("nba.csv")

will replace Nan value in dataframe with value -99999

df.replace(to_replace = np.nan, value =-99999)

`

**Output

Notice all the Nan value in the data frame has been replaced by -99999. Though for practical purposes we should be careful with what value we are replacing nan value.

Example 4: Replacing With Multiple Values

In this example, we are replacing multiple values in a Pandas Dataframe by using dataframe.replace() function.

Python `

importing pandas as pd

import pandas as pd

Making data frame from the csv file

df = pd.read_csv("nba.csv")

df1 = df.replace(['Boston Celtics', 'Amir Johnson', 'R.J. Hunter'], ['Omega Warriors', 'Mitcell Johnson', 'Shivang Thomas']) df1[:10]

`

**Output

Screenshot-2023-11-20-113533

How to replace values in DataFrame in Python?

You can replace specific values in a DataFrame using the replace() method. Here’s a basic example:

import pandas as pd

df = pd.DataFrame({
'A': [1, 2, 3],
'B': [4, 5, 6]
})

Replace all occurrences of 1 with 100

df.replace(1, 100, inplace=True)
print(df)

What is the replace method in Pandas?

The replace() method in pandas is used to replace a value with another value. It can handle single values, lists, or dictionaries, making it very flexible for various use cases:

Replace multiple values at once

df.replace({2: 200, 3: 300}, inplace=True)
print(df)

How to replace string in python DataFrame?

To replace string values, you use the same replace() method. This method is useful for modifying specific string entries across the DataFrame:

df = pd.DataFrame({
'A': ['foo', 'bar', 'baz'],
'B': ['foobar', 'barfoo', 'foobarbaz']
})

Replace 'foo' with 'new' in column A

df['A'] = df['A'].replace('foo', 'new')
print(df)

How to replace substrings in DF?

If you want to replace parts of strings within a DataFrame, you might use the str.replace() method, which is part of the string methods for pandas Series:

Replace substrings within the DataFrame

df['B'] = df['B'].str.replace('foo', 'new')
print(df)

How to replace missing values in DF?

To replace missing values (NaNs) in a DataFrame, you can use the fillna() method, which is highly effective for handling missing data:

df = pd.DataFrame({
'A': [1, 2, None],
'B': [None, 5, 6]
})

Replace all NaNs with a specific value

df.fillna(0, inplace=True)
print(df)

Or replace NaNs with the mean of the column

df['A'].fillna(df['A'].mean(), inplace=True)