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.