ndarray.flatten()

Метод ndarray.flatten() возвращает копию массива, развёрнутую в одномерный массив. Это метод массива (а не функция модуля). Всегда создаёт независимую копию, в отличие от ravel().

Сигнатура

ndarray.flatten(order='C')

Параметры

  • order — порядок обхода:

    • 'C' — построчно (C-order, по умолчанию);

    • 'F' — постолбцово (Fortran-order);

    • 'A' — Fortran, если массив непрерывный по Fortran, иначе C;

    • 'K' — порядок элементов в памяти.

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

ndarray — одномерная копия массива.

Примеры

Пример 1. Двумерный массив.

import numpy as np

m = np.array([[1, 2, 3], [4, 5, 6]])
print(m.flatten())
[1 2 3 4 5 6]

Пример 2. Порядок Fortran.

m = np.array([[1, 2, 3], [4, 5, 6]])
print(m.flatten(order='F'))
[1 4 2 5 3 6]

Пример 3. Трёхмерный массив.

t = np.arange(8).reshape(2, 2, 2)
print(t.flatten())
[0 1 2 3 4 5 6 7]

Пример 4. Кадр с камеры → вектор признаков.

# «Изображение» 3x3 серого
frame = np.array([[10, 20, 30],
                  [40, 50, 60],
                  [70, 80, 90]])
features = frame.flatten()
print("Длина вектора:", features.size)
Длина вектора: 9

Пример 5. flatten создаёт копию.

m = np.array([[1, 2], [3, 4]])
f = m.flatten()
f[0] = 99
print("Оригинал:", m[0, 0])  # не изменился
Оригинал: 1

См. также

Примечание

Лицензия и источники

Техническое описание функции адаптировано из официальной документации NumPy (https://numpy.org/doc/stable/), BSD-3-Clause License. Примеры и пояснения — © AlashEd Wiki.