Метод flatten
Метод flatten преобразует многомерный массив
в одномерный, возвращая его плоскую копию.
Метод не изменяет исходный массив, а создает новый.
Первым параметром можно передать порядок обхода
элементов: 'C' (по строкам, используется по умолчанию),
'F' (по столбцам), 'A' (в порядке сохранения в памяти)
или 'K' (в порядке, в котором элементы расположены в памяти).
Синтаксис
arr.flatten([order])
Пример
Давайте преобразуем двумерный массив в одномерный с обходом по строкам (порядок 'C'):
import numpy as np
arr = np.array([[1, 2, 3], [4, 5, 6]])
res = arr.flatten()
print(res)
Результат выполнения кода:
[1 2 3 4 5 6]
Пример
Теперь преобразуем тот же массив с обходом по столбцам (порядок 'F'):
import numpy as np
arr = np.array([[1, 2, 3], [4, 5, 6]])
res = arr.flatten('F')
print(res)
Результат выполнения кода:
[1 4 2 5 3 6]
Пример
Метод flatten всегда создает копию массива.
Убедимся в этом, изменив значение в плоском массиве
и проверив исходный массив:
import numpy as np
arr = np.array([[1, 2], [3, 4]])
flat = arr.flatten()
flat[0] = 99
print("Flat array:", flat)
print("Original array:", arr)
Результат выполнения кода:
"Flat array: [99 2 3 4]"
"Original array: [[1 2]"
" [3 4]]"
Как видите, изменение плоского массива не повлияло на исходный массив.