Python 性能:使用pandas列出hdf5文件中的所有键

Python 性能:使用pandas列出hdf5文件中的所有键,python,performance,pandas,hdf5,pytables,Python,Performance,Pandas,Hdf5,Pytables,在一个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(ke

在一个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

熊猫v.0.20.1

表v.3.2.2


我想知道键的层次结构是否有问题:全部在
数据/表[X]
中,而不是直接进入
表[X]

我也有同样的问题。原因似乎与表检查每个节点值以创建键列表的方式有关。我已经把这件事告诉了熊猫德夫

如果要检查存储区中是否有密钥,则

store.__contains__(key)
我会做这项工作,而且要快得多


我也有同样的问题。原因似乎与表检查每个节点值以创建键列表的方式有关。我已经把这件事告诉了熊猫德夫

如果要检查存储区中是否有密钥,则

store.__contains__(key)
我会做这项工作,而且要快得多