У меня есть большой CArray целых чисел в PyTables (1 миллион строк, 50000 столбцов):Fast ломтиков столбцов в PyTables
In [22]: fmat
Out[22]:
/fmat (CArray(1025461, 54123), shuffle, blosc(5)) ''
atom := Int32Atom(shape=(), dflt=0)
maindim := 0
flavor := 'numpy'
byteorder := 'little'
chunkshape := (9, 54123)
Выбор строки в порядке:
In [24]: %timeit fmat[0]
10000 loops, best of 3: 46.5 µs per loop
Но выбора столбцов принимает навсегда :
In [25]: %timeit fmat[:,0]
1 loop, best of 3: 25 s per loop
Есть ли эффективный способ индексирования столбцов или транспонирования массива, чтобы позволить быстрые срезы?