Spec-Zone.ru › NumPy 1.11

numpy.ravel

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

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

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

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

Параметры:

a : array_like

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

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

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

Возвращает:

y : array_like

Если a является матрицей, y является одномерным ndarray, иначе y является массивом того же подтипа, что и a. Форма возвращаемого массива — (a.size,). Матрицы обрабатываются как особый случай для обеспечения обратной совместимости.

См. также

ndarray.flat
Итератор по одномерным элементам массива.
ndarray.flatten
Одномерная копия элементов массива в порядке строки-столбец.
ndarray.reshape
Изменение формы массива без изменения его данных.

Примечания

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

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

Примеры

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

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

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

>>> print(np.ravel(x.T))
[1 4 2 5 3 6]
>>> print(np.ravel(x.T, order='A'))
[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])

© 2008–2016 NumPy Developers
Licensed under the NumPy License.
https://docs.scipy.org/doc/numpy-1.11.0/reference/generated/numpy.ravel.html

Spec-Zone.ru

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