使用HDFStore.append时是否存在控制用于存储数据帧索引的数据类型的方法?
似乎熊猫索引总是以 64 位存储在 hdf5 文件中。我想提高存储效率并减小索引列的大小。
我有一个唯一的 3 列多索引,将它们保存为 uint64 索引在我的应用程序中是一种巨大的空间浪费:
给定以下数据框
In [15]: df.dtypes
Out[15]: indA int32
indB int16
indC int8
data float32
dtype: object
只需在结果df.set_index(['indA', 'indB', 'indC'])
之前设置,并将其存储为hdf5 文件。HDFStore.append
indA
indB
indC
Int64Col
不设置 pandas 索引并指定 pytables 数据列:
store.append('mytable', df, data_columns=['indA', 'indB', 'indB'])
indA
,indB
并indC
与其原始 dtypes 一起存储,但是附加Int64Col
存储在 hdf5 文件中。
这并没有真正的帮助:通过存储在原始 dtypes 中,我为三ind
列保存/保存 56 位。然而,额外的(多余的)索引列需要 64 位......
有任何想法吗?