Как преобразовать 2D-массивы HDF5 в 1D в NumPy?

У меня есть массив 2d (480 * 640), нарезанный из файла HDF5, как я могу преобразовать его в массив 1d с помощью NumPy?


person l.z.lz    schedule 30.04.2012    source источник


Ответы (2)


Используйте функцию reshape. См. http://docs.scipy.org/doc/numpy/reference/generated/numpy.reshape.html для примеров.

person tpg2114    schedule 30.04.2012
comment
В частности, OP, вероятно, хочет flat_data = x.reshape(-1) (в документации это упоминается, но многие люди не замечают, что вы можете заменить неизвестную длину на -1) или flat_data = x.ravel(). Есть еще x.flatten(), но он делает копию. В данном случае ravel или reshape — лучшие варианты. - person Joe Kington; 30.04.2012

ravel() - это более конкретный метод numpy.array для выравнивания массива. Итак, если у вас есть, например, 2d numpy.array с именем A, то A.ravel() вернет массив 1d, содержащий элементы из A.

person Aliaksei Kuzmin    schedule 17.02.2013