我有一个存储在pyTables文件中的大数组(1000x500000x6)。我正在做一些在速度方面进行了相当优化的计算,但花费最多时间的是数组的切片。
在脚本开头,我需要获取行的子集:reduced_data = data [row_indices,:,]然后,对于这个简化的数据集,我需要访问:
获取这些数组需要永远。有没有办法加快速度?以不同方式存储数据?例如?
答案 0 :(得分:1)
您可以尝试明智地选择阵列的chunkshape
,请参阅:http://pytables.github.com/usersguide/libref.html#tables.File.createCArray
此选项控制数据以物理方式存储在文件中的顺序,因此可能有助于加快访问速度。
幸运的是,对于您的数据访问模式,chunkshape=(1000, 1, 6)
之类的内容可能会有效。