[906] Replace NaN (Not-a-Number) values with 'Null' in Pandas

发布时间 2023-10-17 13:09:47作者: McDelfino

In Pandas, you can replace NaN (Not-a-Number) values in a DataFrame with None (Python's None type) or np.nan (NumPy's NaN) values. Here's how you can replace NaN values with None:

import pandas as pd
import numpy as np

# Create a sample DataFrame with NaN values
data = {'A': [1, np.nan, 3, np.nan, 5]}
df = pd.DataFrame(data)

# Replace NaN with None
df = df.where(pd.notna(df), None)

print(df)

This code replaces NaN values with None using the where method in Pandas.

If you want to replace NaN values with np.nan instead, you can do it like this:

import pandas as pd
import numpy as np

# Create a sample DataFrame with NaN values
data = {'A': [1, np.nan, 3, np.nan, 5]}
df = pd.DataFrame(data)

# Replace NaN with np.nan
df = df.fillna(np.nan)

print(df)

In this example, we're using the fillna method to replace NaN values with np.nan.

The choice between None and np.nan depends on your specific use case. If you want to work with NaN values in a more numerical context, using np.nan is typically a better choice. If you prefer to treat NaN values as missing data in a more general sense, using None may be more appropriate.