Reputation: 1690
I am changing the datatype of a determined columns in pandas and I would like to keep the nan values as np.nan
After executing the following command:
df = df.astype({"raw_salary_from": str, "raw_salary_to": str})
What I get is that all the nan's transformed into strings 'nan'. How can I avoid that issue while transforming the datatype of the column?
['22000.0',
'0.0',
'40000.0',
'9.5',
'0.0',
'0.0',
'28.0',
'nan',
'nan',
'nan',
'nan',
'nan']
Upvotes: 1
Views: 60
Reputation: 3845
You can store the index of those nan's first and then convert them to np.nan
with mask
. So:
idx_nan = df["raw_salary_from"].isna()
df["raw_salary_from"] = df["raw_salary_from"].astype(str).mask(idx_nan, np.nan)
Upvotes: 1