防止大熊猫阅读无为南

时间:2017-02-03 15:39:41

标签: python csv pandas numpy nan

我已清理数据集,必须用None替换大量pandas.read_csv值。之后我将其保存到新的csv文件中,当我使用None读回清理的数据集时,所有NaN值都表示为{{1}},我该如何避免这种情况?

1 个答案:

答案 0 :(得分:1)

您可以在read_csv中使用参数keep_default_nana_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'>