我清理了一个数据集,不得不替换很多 NaN
值与 None
.之后我将它保存到一个新的 csv 文件中,当我使用 pandas.read_csv
读回清理过的数据集时,所有None
值表示为 NaN
,我怎样才能避免这种情况?
最佳答案
您可以使用参数 keep_default_na
和 na_values
在 read_csv
然后 replace
字符串 None
到值 None
:
import pandas as pd
from pandas.compat import StringIO
temp=u"""a,b
None,NaN
a,8"""
#after testing replace 'StringIO(temp)' to 'filename.csv'
df = pd.read_csv(StringIO(temp),keep_default_na=False,na_values=['NaN'])
print (df)
a b
0 None NaN
1 a 8.0
print (type(df.a.iloc[0]))
<class 'str'>
df = df.replace({'None':None})
print (df)
a b
0 None NaN
1 a 8.0
print (type(df.a.iloc[0]))
<class 'NoneType'>
关于python - 防止 Pandas 将 None 读作 Nan,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42027862/