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.