性能:列出带有熊猫的HDF5文件中的所有键



是正常的,以至于在HDF5文件中获得所有当前键需要很长时间?

代码样本:

start = time.time()
store = pd.HDFStore(filepath)
print(time.time() - start)
0.0
start = time.time()
a = store.keys()
print(time.time() - start)
23.874846696853638
len(a) 
80
start = time.time()
store.select(key="/data/table1") # the next table would be /data/table2
print(time.time() - start)
0.062399864196777344

所有密钥都是"表"(即未固定(。文件中大约有80个键。

.h5文件的整个大小为348 MB。每个表有大约。相同的尺寸(加载到pandas.dataframe之后(为2.6 MB。

pandas v.0.20.1

表V.3.2.2。

我想知道关键层次结构是否是一个问题:全部在data/table[X]中而不是直接进入table[X]

我也有同样的问题。原因似乎与表格检查每个节点值以创建密钥列表的方式有关。我将其提高到Pandas Dev。

如果要检查键是否在商店中,则

store.__contains__(key)

将完成这项工作,并且要快得多。

https://github.com/pandas-dev/pandas/issues/17593

最新更新