Введение
В этом практическом занятии вы изучите функции NumPy для манипуляции формой массивов NumPy, которые позволяют изменять форму массивов NumPy.
Достижения
- Изменение формы массивов
- Конкатенация и разбиение массивов
- Транспонирование массивов
💡 Этот учебник переведен с английского с помощью ИИ. Чтобы просмотреть оригинал, вы можете перейти на английский оригинал
В этом практическом занятии вы изучите функции NumPy для манипуляции формой массивов NumPy, которые позволяют изменять форму массивов NumPy.
Функция reshape
позволяет изменить форму массива NumPy. Синтаксис функции reshape
следующий:
np.reshape(a, new_shape)
a
- входной массив, а new_shape
- желаемая новая форма массива.Откройте Python-интерпретатор, введя следующую команду в терминале.
python3
NumPy уже установлен, вы можете импортировать его в свой код на Python:
import numpy as np
Создайте массив a
формы (2, 3) в качестве примера:
a = np.array([[1, 2, 3], [4, 5, 6]])
print(a.shape)
Результат:
(2, 3)
Вы можете изменить форму этого массива на форму (3, 2) с использованием функции reshape
:
b = np.reshape(a, (3, 2))
print(b.shape)
print(b)
Результат:
(3, 2)
[[1 2]
[3 4]
[5 6]]
NumPy предоставляет две функции для конкатенации массивов:
Вы можете разбивать массивы с использованием функции np.split
.
Создайте два массива a
и b
в качестве примера:
a = np.array([1, 2, 3])
b = np.array([4, 5, 6])
Вы можете конкатенировать эти массивы вдоль первой оси (0) с использованием функции np.concatenate
:
c = np.concatenate((a, b))
print(c)
Результат:
[1 2 3 4 5 6]
Вы также можете конкатенировать эти массивы вдоль новой оси с использованием функции np.stack
:
d = np.stack((a, b))
print(d)
print(d.shape)
Результат:
[[1 2 3]
[4 5 6]]
(2, 3)
Создайте массив a
формы (6,) в качестве примера:
a = np.array([1, 2, 3, 4, 5, 6])
Вы можете разбить этот массив на два массива длиной 3 с использованием функции np.split
:
b, c = np.split(a, 2)
print(b)
print(c)
Результат:
[1 2 3]
[4 5 6]
Функция transpose
позволяет транспонировать оси массива NumPy. Синтаксис функции transpose
следующий:
a.transpose([axis1, axis2,...])
axis1
, axis2
и т.д. - оси, которые будут транспонированы.создайте массив a
формы (2, 3) в качестве примера:
a = np.array([[1, 2, 3], [4, 5, 6]])
print(a)
print(a.shape)
Результат:
[[1 2 3]
[4 5 6]]
(2, 3)
Вы можете транспонировать этот массив с использованием функции transpose
:
b = a.transpose()
print(b)
print(b.shape)
Результат:
[[1 4]
[2 5]
[3 6]]
(3, 2)
Вы также можете транспонировать конкретные оси массива. Например, вы можете транспонировать оси массива a
, чтобы получить форму (3, 2), используя следующий код:
c = a.transpose(1, 0)
print(c)
print(c.shape)
Результат:
[[1 4]
[2 5]
[3 6]]
(3, 2)
Поздравляем! Вы завершили практическое занятие по манипуляциям с формами массивов NumPy.
В этом практическом занятии вы узнали функции NumPy для манипуляции формой reshape
, concatenate
, stack
, split
и transpose
. Эти функции позволяют вам манипулировать формой массивов NumPy и являются необходимыми для многих задач обработки данных.