Введение
В этом практическом занятии вы изучите функции NumPy для манипуляции формой массивов NumPy, которые позволяют изменять форму массивов NumPy.
Достижения
- Изменение формы массивов
- Конкатенация и разбиение массивов
- Транспонирование массивов
Изменение формы массивов
Функция reshape позволяет изменить форму массива NumPy. Синтаксис функции reshape следующий:
np.reshape(a, new_shape)
- где
a- входной массив, аnew_shape- желаемая новая форма массива.
Откройте Python-интерпретатор
Откройте Python-интерпретатор, введя следующую команду в терминале.
python3
Импортируйте NumPy
NumPy уже установлен, вы можете импортировать его в свой код на Python:
import numpy as np
Создайте массив
Создайте массив a формы (2, 3) в качестве примера:
a = np.array([[1, 2, 3], [4, 5, 6]])
print(a.shape)
Результат:
(2, 3)
Использование reshape
Вы можете изменить форму этого массива на форму (3, 2) с использованием функции reshape:
b = np.reshape(a, (3, 2))
print(b.shape)
print(b)
Результат:
(3, 2)
[[1 2]
[3 4]
[5 6]]
Конкатенация и разбиение массивов
NumPy предоставляет две функции для конкатенации массивов:
- np.concatenate: для конкатенации массивов вдоль заданной оси
- np.stack: для конкатенации массивов вдоль новой оси
Вы можете разбивать массивы с использованием функции np.split.
Конкатенация массивов
Создайте два массива a и b в качестве примера:
a = np.array([1, 2, 3])
b = np.array([4, 5, 6])
Использование Concatenate
Вы можете конкатенировать эти массивы вдоль первой оси (0) с использованием функции np.concatenate:
c = np.concatenate((a, b))
print(c)
Результат:
[1 2 3 4 5 6]
Использование Stack
Вы также можете конкатенировать эти массивы вдоль новой оси с использованием функции 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])
Использование Split
Вы можете разбить этот массив на два массива длиной 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 и являются необходимыми для многих задач обработки данных.



