2

我有一个存储在 pyTables 文件中的大数组( 1000x500000x6 )。我正在对其进行一些在速度方面进行了相当优化的计算,但是花费最多时间的是数组的切片。

在脚本的开头,我需要获取行的子集:reduce_data = data[row_indices, :, :] 然后,对于这个简化的数据集,我需要访问:

  • 列一一:reduced_data[:,clm_indice,:]
  • 列的子集:reduce_data[:,clm_indices,:]

获取这些数组需要很长时间。有什么办法可以加快速度吗?例如以不同方式存储数据?

4

1 回答 1

1

您可以尝试chunkshape明智地选择数组,请参阅: http: //pytables.github.com/usersguide/libref.html#tables.File.createCArray 此选项控制数据物理存储在文件中的顺序,因此它可能有助于加快访问速度。

运气好的话,对于您的数据访问模式,类似的东西chunkshape=(1000, 1, 6)可能会起作用。

于 2012-05-16T12:58:59.330 回答