在将pandas DataFrame保存为feather时,是否可以指定列类型?

时间:2017-01-03 08:46:49

标签: python pandas feather

目前,如果列恰好只有空值,则抛出异常并显示错误:

  

无效:无法推断对象数组的类型,全部为空

可以指定列的类型,而不是推断类型吗?

版本:

feather-format==0.3.1
pandas==0.19.1

示例代码:

feather.write_dataframe(pandas.DataFrame([None]*5), '/tmp/test.feather')

1 个答案:

答案 0 :(得分:2)

None更改(或替换)为numpy.nan,它会起作用:

In [22]: feather.write_dataframe(pd.DataFrame([np.nan]*5), 'd:/temp/test.feather')

In [23]: feather.read_dataframe('d:/temp/test.feather')
Out[23]:
    0
0 NaN
1 NaN
2 NaN
3 NaN
4 NaN

PS NumPy / Pandas / SciPy /等有自己的Vanilla Python代表None - NaN(非数字)或NaT(不是类似DateTime的dtypes的时间) )