我正在尝试使用Pandas迁移到基于HDF5的存储系统。我有几个用于测试的数据集,它们是简单的JSON列表,每行有大约80B的观察值。所有汇总在一起,我正在进行约100,000次观察。这将使我预计存储在大约10MB的范围内。
相反,我看到800MB。
这种类型的开销不可能是正确的,我只能假设我犯了一些非常糟糕的东西。
以下是用于创建HDF5商店的代码段。
with pd.HDFStore('store.h5', complevel=9, compblib='bzip2') as store:
for dataset in datasets:
data = pd.DataFrame(json.loads(dataset.read()))
store.append('data', data)
我正在处理的数据可以看作由以下内容组成的列表:
[
"ca2b3a75-c73e-45fa-b0c3-3fc50484fb15",
"2016-09-21T21:10:10Z",
"234"
]
这是10,000行数据片段的info()输出:
<class 'pandas.core.frame.DataFrame'>
Int64Index: 10000 entries, 0 to 1029
Data columns (total 3 columns):
AWSS_ID 10000 non-null object
TIMESTAMP 10000 non-null object
VALUE 10000 non-null object
dtypes: object(3)
memory usage: 312.5+ KB
None