Пропустить до содержимого

Как изменить размеры ввода в Python

[

Как изменить размерность массива в Python с помощью ввода


В этом учебнике вы узнаете, как изменить форму массива в NumPy с помощью функции reshape(). Мы покажем вам, как это сделать с помощью подробных примеров кода и объяснений. Продолжайте читать, чтобы узнать больше.

Вступление

Основная структура данных в библиотеке NumPy - это N-мерный массив. Массив может иметь одну или несколько размерностей для организации данных. Иногда вам может понадобиться изменить структуру массива в NumPy. Для этого вы можете использовать функцию reshape().

Форма массива описывает количество размерностей в массиве и длину каждой из них. В этом руководстве вы узнаете, как изменить форму массива в библиотеке NumPy, чтобы переупорядочить его данные в другую конфигурацию. По завершению этого руководства вы сможете изменять форму любого массива для соответствия требованиям вашего приложения.

Шаг 1: Установка NumPy

Для начала вам потребуется установить библиотеку NumPy в своем окружении, чтобы запустить код в этом учебнике и использовать функцию reshape(). Вы можете установить пакет, используя pip в виртуальной среде. Инструкции для вашей операционной системы приведены ниже:

Установка на Windows

  1. Откройте Windows Powershell.

  2. Введите следующие команды:

    Terminal window
    PS> python -m venv venv
    PS> .\venv\Scripts\activate
    (venv) PS> python -m pip install numpy

Установка на Linux или macOS

  1. Откройте терминал.

  2. Введите следующие команды:

    Terminal window
    $ python -m venv venv
    $ source venv/bin/activate
    (venv) $ python -m pip install numpy
  3. После того, как установка будет завершена, вы можете импортировать библиотеку NumPy в ваш скрипт Python следующим образом:

    import numpy as np

Шаг 2: Понимание формы массивов в NumPy

В этом учебнике мы будем использовать класс ndarray из библиотеки NumPy. Этот класс представляет одномерные, двухмерные и многомерные массивы. Каждый массив имеет свою форму и количество размерностей. Вы можете создать массив из списка с помощью следующего кода:

import numpy as np
numbers = np.array([[1, 2, 3, 4], [5, 6, 7, 8]])
print(numbers)

Результат:

[[1 2 3 4]
[5 6 7 8]]

Этот код создает двумерный массив numbers с формой (2, 4). Здесь 2 - количество строк, а 4 - количество столбцов.

Шаг 3: Изменение формы массива с помощью reshape()

Теперь, когда у вас есть массив, вы можете использовать функцию reshape(), чтобы изменить его форму. Например, вы можете изменить двумерный массив на одномерный с помощью следующего кода:

numbers = numbers.reshape(8)
print(numbers)

Результат:

[1 2 3 4 5 6 7 8]

Функция reshape() возвращает новый массив с указанной формой. В этом примере новый массив имеет форму (8,), что означает, что он является одномерным массивом длиной 8.

Вы также можете изменить форму массива на многомерный. Например, вы можете изменить одномерный массив на трехмерный с помощью следующего кода:

numbers = numbers.reshape(2, 2, 2)
print(numbers)

Результат:

[[[1 2]
[3 4]]
[[5 6]
[7 8]]]

Теперь массив имеет форму (2, 2, 2), поскольку он имеет 2 уровня, каждый из которых содержит 2 строки и 2 столбца.

Вы также можете изменить форму массива, указав одно из значений в reshape() равным -1. Значение -1 указывает, что размер этой размерности будет вычислен автоматически. Например, вы можете использовать -1 для изменения двумерной матрицы на одномерный массив таким образом:

numbers = numbers.reshape(-1)
print(numbers)

Результат:

[1 2 3 4 5 6 7 8]

Функция reshape() автоматически вычисляет размер одной из размерностей и создает одномерный массив длиной 8.

Заключение

В этом уроке вы узнали, как использовать функцию reshape() в библиотеке NumPy для изменения размерности массивов. Вы узнали, как изменить форму массива без изменения его количества размерностей, добавлять и удалять размерности, контролировать упорядочение данных при изменении формы массива с помощью параметра order и использовать значение -1 для одной из размерностей в функции reshape(). Теперь вы можете легко изменять форму массивов в Python, чтобы соответствовать требованиям вашего приложения.