防止熊猫将 None 读作 Nan

dpk*_*dpk 6 python csv numpy nan pandas

我清理了一个数据集,不得不NaNNone. 之后,我将其保存到一个新的 csv 文件中,当我使用 读取清理过的数据集时pandas.read_csv,所有None值都表示为NaN,我该如何避免这种情况?

jez*_*ael 5

您可以使用参数keep_default_nana_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'>
Run Code Online (Sandbox Code Playgroud)