Spec-Zone.ru › NumPy 2.0

numpy.ravel

numpy.ravel(a, order='C')[source]

Возвращает плоский массив, расположенный непрерывно.

Возвращается одномерный массив, содержащий элементы входного массива. Копия создаётся только в случае необходимости.

Начиная с NumPy 1.10, возвращаемый массив будет иметь тот же тип, что и входной массив. (например, для входного массива-маски будет возвращён массив-маска).

Параметры:
aarray_like

Входной массив. Элементы в a считываются в порядке, указанном в order, и упаковываются в одномерный массив.

order{‘C’,’F’, ‘A’, ‘K’}, optional

Элементы a считываются с использованием этого порядка индексов. ‘C’ означает чтение элементов в порядке следования строк, как в стиле C, где индекс последнего измерения изменяется быстрее всего, а индекс первого измерения изменяется медленнее всего. ‘F’ означает чтение элементов в порядке следования столбцов, как в стиле Fortran, где индекс первого измерения изменяется быстрее всего, а индекс последнего измерения изменяется медленнее всего. Обратите внимание, что параметры ‘C’ и ‘F’ не учитывают расположение массива в памяти, а только порядок индексирования осей. ‘A’ означает чтение элементов в порядке индексов, подобном Fortran, если a расположен непрерывно в памяти в стиле Fortran, в противном случае — в порядке индексов, подобном C. ‘K’ означает чтение элементов в порядке их расположения в памяти, за исключением реверсирования данных при отрицательных шагах. По умолчанию используется порядок индексов ‘C’.

Возвращаемое значение:
yarray_like

y — это непрерывный одномерный массив того же подтипа, что и a, с формой (a.size,). Обратите внимание, что матрицы обрабатываются как специальный случай для обеспечения обратной совместимости; если a является матрицей, то y — это одномерный массив ndarray.

См. также

ndarray.flat

Итератор по одномерному массиву.

ndarray.flatten

Копирование элементов массива в одномерный массив в порядке следования строк.

ndarray.reshape

Изменение формы массива без изменения его данных.

Примечания

В порядке следования строк, стиле C, в двумерном случае индекс строки меняется медленнее всего, а индекс столбца — быстрее всего. Это можно обобщить на многомерный случай, где порядок следования строк подразумевает, что индекс по первой оси изменяется медленнее всего, а индекс по последней оси — быстрее всего. Обратное справедливо для порядка следования столбцов, стиля Fortran.

Когда необходимо получить представление (view), в большинстве случаев может быть предпочтительнее arr.reshape(-1). Однако ravel поддерживает K в необязательном аргументе order, в то время как reshape этого не делает.

Примеры

Это эквивалентно reshape(-1, order=order).

>>> x = np.array([[1, 2, 3], [4, 5, 6]])
>>> np.ravel(x)
array([1, 2, 3, 4, 5, 6])
>>> x.reshape(-1)
array([1, 2, 3, 4, 5, 6])
>>> np.ravel(x, order='F')
array([1, 4, 2, 5, 3, 6])

Когда order имеет значение ‘A’, он сохранит порядок массива в стиле ‘C’ или ‘F’:

>>> np.ravel(x.T)
array([1, 4, 2, 5, 3, 6])
>>> np.ravel(x.T, order='A')
array([1, 2, 3, 4, 5, 6])

Когда order имеет значение ‘K’, он сохранит порядок, не являющийся ни ‘C’, ни ‘F’, но не будет переворачивать оси:

>>> a = np.arange(3)[::-1]; a
array([2, 1, 0])
>>> a.ravel(order='C')
array([2, 1, 0])
>>> a.ravel(order='K')
array([2, 1, 0])
>>> a = np.arange(12).reshape(2,3,2).swapaxes(1,2); a
array([[[ 0,  2,  4],
        [ 1,  3,  5]],
       [[ 6,  8, 10],
        [ 7,  9, 11]]])
>>> a.ravel(order='C')
array([ 0,  2,  4,  1,  3,  5,  6,  8, 10,  7,  9, 11])
>>> a.ravel(order='K')
array([ 0,  1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11])

© 2005–2024 NumPy Developers
Licensed under the 3-clause BSD License.
https://numpy.org/doc/2.0/reference/generated/numpy.ravel.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API