我已清理数据集,必须用None
替换大量pandas.read_csv
值。之后我将其保存到新的csv文件中,当我使用None
读回清理的数据集时,所有NaN
值都表示为{{1}},我该如何避免这种情况?
答案 0 :(得分:1)
您可以在read_csv
中使用参数keep_default_na
和na_values
,然后将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'>