У меня есть массив 2d (480 * 640), нарезанный из файла HDF5, как я могу преобразовать его в массив 1d с помощью NumPy?
Как преобразовать 2D-массивы HDF5 в 1D в NumPy?
Ответы (2)
Используйте функцию reshape
. См. http://docs.scipy.org/doc/numpy/reference/generated/numpy.reshape.html для примеров.
person
tpg2114
schedule
30.04.2012
В частности, 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