Метод NumPy Flatten() в Python с примерами
Рассмотрим как использовать метод numpy Flatten() в Python для возврата копии массива, свернутой в одно измерение.
- Введение в метод NumPy Flatten()
- Примеры метода NumPy Flatten()
- 1) Метод Flatten() с многомерным массивом
- 2) Метод numpy Flatten() в выравнивании массива с использованием порядка по столбцам
Введение в метод NumPy Flatten()
Flatten() — это метод класса ndarray. Метод Flatten() возвращает копию массива, свернутую в одно измерение.
Ниже показан синтаксис метода Flatten():
ndarray.flatten(order='C')
Параметр order указывает порядок элементов массива в возвращаемом массиве. Он принимает одно из следующих значений:
- «C» означает выравнивание элементов массива в порядке следования строк(стиль C).
- «F» означает выравнивание элементов массива по столбцам(стиль Фортрана).
- «A» — означает сглаживание элементов массива в порядке столбцов, если a является непрерывным в памяти в формате Fortran, или в порядке строк в противном случае.
- «K» означает выравнивание элементов массива в порядке расположения элементов в памяти.
По умолчанию используется порядок «C», который выравнивает элементы массива по строкам.
Примеры метода NumPy Flatten()
Давайте рассмотрим несколько примеров использования метода NumPy Flatten().
1) Метод Flatten() с многомерным массивом
В следующем примере метод Flatten() используется для возврата одномерного массива из двухмерного массива:
import numpy as np a = np.array([[1, 2], [3, 4]]) b = a.flatten() print(b)
Выход:
[1 2 3 4]
Как это работает.
- Сначала создайте двумерный массив с двумя строками и двумя столбцами:
a = np.array([[1, 2], [3, 4]])
- Во-вторых, верните копию массива с размерами, свернутыми в одно, с помощью метода Flatten():
b = a.flatten()
- В-третьих, отобразите массив результатов:
print(b)
Обратите внимание, что b — это копия, а не представление массива a. Если вы измените элементы массива b, элементы массива a не изменяются. Например:
import numpy as np a = np.array([[1, 2], [3, 4]]) b = a.flatten() # change element at index 0 b[0] = 0 print(b) # display the array a print(a)
Выход:
[0 2 3 4] [[1 2] [3 4]]
В этом примере:
- Сначала выровняйте массив a и присвойте полученный массив переменной b:
b = a.flatten()
- Во-вторых, измените элемент с индексом 0 в b на ноль и распечатайте b:
b[0] = 0 print(b)
- В-третьих, отобразите массив a:
print(a)
Вывод показывает, что элемент с индексом 0 в b изменяется, но элемент с индексом 0 в a не меняется.
2) Метод numpy Flatten() в выравнивании массива с использованием порядка по столбцам
В следующем примере используется метод numpy Flatten() для выравнивания массива с использованием порядка по столбцам:
import numpy as np a = np.array([[1, 2], [3, 4]]) b = a.flatten(order='F') print(b)
Выход:
[1 3 2 4]