我有一个大的h5文件(50gb)。我需要从文件中提取一个方形子矩阵。到目前为止,我的代码是:
import h5py
import random
file = h5py.File('numDistances.h5', 'r')
data = file['DS1'] # 120,000 x 120,000 matrix
randomRows = random.sample(range(110000), 40000)
randomRows.sort()
# Get the rows first and then the corresponding columns:
rows = data[randomRows, :]
output = rows[:,randomRows]
不幸的是,像这样拉出数据非常慢。你知道任何切片技术/附加库可以帮助我更快地做到这一点,谢谢。