tables.carray
同じ形状 (300000x300000) の大きなデータ構造がいくつかあります。すべてのデータを追加して、マスター マトリックスに保存したいと考えています。
ここで、新しい carray を作成し、単純なループで埋めます。
shape = (300000,300000)
#... open all hdf5 files of the existing matrices and create a new one
matrix = h5f.createCArray( h5f.root, 'carray', atom, shape, filters=filters )
for i in range( shape[0] ):
for j in range( shape[1] ):
for m in single_matrices:
# print 'reading', i,j,shape
value = m[i, j]
# print 'writing'
matrix[i, j] += value
しかし、それは非常に遅いです (>12 時間)。より良い方法はありますか?