Функция numpy.reshape() в Python с простыми примерами

Функция numpy reshape() применяется в Python для изменения формы массива.

Содержание

Что такое функция numpy.reshape() в Python?

Форма массива хранит количество измерений (или осей) и количество элементов в каждом измерении. Свойство shape возвращает кортеж, описывающий форму массива.

Функция numpy.reshape() в Python изменяет форму массива, не меняя его элементов. Вот синтаксис функции reshape():

numpy.reshape(a, newshape, order='C')

В этом синтаксисе функция reshape() изменяет форму массива a на новую форму, но сохраняет количество элементов прежним.

Функция reshape() эквивалентна вызову метода reshape() для массива a:

a.reshape(newshape, order='C')

Примеры функции NumPy reshape()

Давайте рассмотрим несколько примеров использования функции reshape().

1) Изменение одномерного массива с помощью функции numpy reshape()

В следующем примере используется функция numpy reshape() для преобразования одномерного массива с 4 элементами в двумерный массив:

import numpy as np

a = np.arange(1, 5)
print(a)

b = np.reshape(a,(2, 2))
print(b)

Выход:

[1 2 3 4]
[[1 2] 
 [3 4]]

Как это работает.

Изменение формы массива NumPy

  • Сначала создайте одномерный массив с четырьмя числами от 1 до 4, используя функцию arange():
a = np.arange(1, 5)
print(a)
  • Во-вторых, измените форму массива a на массив с двумя измерениями, каждое измерение имеет два элемента:
b = np.reshape(a,(2, 2))
print(b)

2) Numpy reshape() возвращает представление

Обратите внимание, что массив b представляет собой представление массива a. Это означает, что если вы измените элемент массива b, это изменение отразится в массиве a. Например:

import numpy as np

a = np.arange(1, 5)
b = np.reshape(a,(2, 2))

# change the element [0,0]
b[0, 0] = 0

print(b)
print(a)

Выход:

[[0 2] 
 [3 4]]
[0 2 3 4]

В этом примере мы меняем элемент с индексом [0,0] в массиве b. Изменение также отражается в массиве a.

Похожие посты
Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *