我有一个数据框,其中一部分如下所示:
2016-12-27 NaN
2016-12-28 NaN
2016-12-29 NaN
2016-12-30 NaN
2016-12-31 NaN
Name: var_name, dtype: object
该列包含NaN字符串/对象。我该如何将其转换为numpy的nan呢?最好能够在读取csv文件时进行转换。
df[var_name_replace] = df[var_name].replace('NaN', np.nan)
是的,在读取csv文件时可以这样做。
df = pd.read_csv('test.csv', names=['t', 'v'], dtype={'v':np.float64})
请查看pandas.read_csv的文档。其中有一些参数对您的应用程序很有用:
希望这对您有所帮助。
Suppose we have:
>>> df=pd.DataFrame({'col':['NaN']*10})
.apply
来转换:>>> new_df=df.apply(float, axis=1)
>>> type(new_df[0])
<type 'numpy.float64'>
np.float64()
函数? - chrisaycock