获取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]
?
答案 0 :(得分:2)
我有同样的问题。看起来原因与表检查每个节点值以创建密钥列表的方式有关。我把它提到了pandas dev。
如果您想检查商店中是否有钥匙,那么
store.__contains__(key)
将完成工作并且速度更快。