附加HDFStore错误 - “无法序列化列”

时间:2013-09-14 19:10:37

标签: python pandas

我有一个数据框,df:

    datetime                      bid      ask     bidvolume  askvolume
0   2007-03-30 21:00:00.332000   1.9682   1.9678       4         0.8

尝试将此附加到新数据存储区。数据存储区不存在,因此我使用以下内容创建和附加数据;

store = pd.HDFStore(storePath,mode='w')
store.append('data',df)
store.close()

我收到此错误:在store.append行。

TypeError: Cannot serialize the column [bid] because
its data contents are [floating] object dtype

如何正确存储数据?

1 个答案:

答案 0 :(得分:5)

请注意:以下方法convert_objects()现已弃用,可能无效 致电DataFrame.convert_objects()

df = DataFrame(randn(10, 1), dtype=object).convert_objects()
df.to_hdf('/tmp/blah.h5', 'df', append=True)

在开始保存到HDF5之前,可能需要检查一下是否可以以正确的格式获取数据。例如,在创建df的任何地方,将对象转换为其中,而不是在保存时转换它们。一般来说,使用Series float dtype object {{1}}的{​​{1}}对大熊猫进行操作会非常麻烦。如果你需要对它们做任何事情就转换你的对象数组(如果可能的话),你的生活会更容易。