Python 为什么我把多个空熊猫系列放入hdf5中,hdf5的大小会如此巨大?

Python 为什么我把多个空熊猫系列放入hdf5中,hdf5的大小会如此巨大?,python,pandas,hdf5,Python,Pandas,Hdf5,如果我使用熊猫创建hdf5文件,代码如下: import pandas as pd store = pd.HDFStore("store.h5") for x in range(1000): store["name"+str(x)] = pd.Series() 所有系列都是空的,那么为什么“store.h5”文件在hardrive上占用1.1GB的空间呢 简短版本:您发现了一个bug。引述: …需要一点技巧(pytables不喜欢零长度对象) 我可以在我的机器上重现这个错误。只需将

如果我使用熊猫创建hdf5文件,代码如下:

import pandas as pd

store = pd.HDFStore("store.h5")

for x in range(1000):
    store["name"+str(x)] = pd.Series()

所有系列都是空的,那么为什么“store.h5”文件在hardrive上占用1.1GB的空间呢

简短版本:您发现了一个bug。引述:

…需要一点技巧(pytables不喜欢零长度对象)

我可以在我的机器上重现这个错误。只需将代码更改为:

import pandas as pd
store = pd.HDFStore("store.h5")
for x in range(1000):
    store["name"+str(x)] = pd.Series([1,2])
生成一个正常的兆字节大小的文件。我在Github上找不到打开的bug;你可以试着报告一下

我假设您已经在代码中处理了这个问题,但是如果您没有,您可能应该在存储对象之前检查以确保没有数组维度为零:

toStore=pd.Series()
assert not np.prod( toStore.shape )==0, 'Tried to store an empty object!'