РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
373 of 541 menu

Метод 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]]"

Как видите, изменение плоского массива не повлияло на исходный массив.

Смотрите также

  • метод ravel,
    который преобразует массив в одномерный без копирования, если возможно
  • метод reshape,
    который изменяет форму массива без изменения данных
  • метод copy,
    который создает глубокую копию массива
  • атрибут flat,
    который возвращает итератор по плоскому массиву
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить