Новый аргумент newaxis в numpy: что это такое в Python?
np.newaxis в Python используется в библиотеке NumPy для изменения размерности массива.
При использовании np.newaxis, вы можете добавлять новую ось в массив, что полезно при операциях с массивами разных размерностей.
Вот пример:
import numpy as np
a = np.array([1, 2, 3])
print(a.shape) # (3,)
# Добавляем новую ось
b = a[np.newaxis, :]
print(b.shape) # (1, 3)
В этом примере мы имеем одномерный массив `a` с размерностью (3,). С помощью `np.newaxis` мы можем добавить новую ось, чтобы получить двумерный массив `b` с размерностью (1, 3).
Это очень полезно, когда мы хотим выполнить операции между массивами, которые имеют разные размерности.
Детальный ответ
np newaxis python: что это такое?
Часто в работе с библиотекой NumPy в Python возникает необходимость изменить размерность массива. Для этого можно использовать функцию np.newaxis. Команда np.newaxis позволяет добавить новую ось в массив. Давайте рассмотрим подробнее, что это такое и как она работает.
Добавление новой оси в одномерный массив
Давайте начнем с создания простого одномерного массива:
import numpy as np
arr = np.array([1, 2, 3, 4, 5])
print("Исходный массив:")
print(arr)
Вывод:
[1 2 3 4 5]
Теперь мы хотим добавить новую ось к нашему массиву. Это можно сделать с помощью np.newaxis:
new_arr = arr[np.newaxis, :]
print("Измененный массив с новой осью:")
print(new_arr)
Вывод:
[[1 2 3 4 5]]
Обратите внимание, что массив теперь имеет форму 1x5, где 1 - это количество строк, а 5 - количество столбцов. Мы добавили новую ось вдоль строк (axis=0) и оставили столбцы нетронутыми.
Добавление новой оси в двумерный массив
Добавление новой оси в двумерный массив также работает примерно так же. Рассмотрим следующий пример:
import numpy as np
arr = np.array([[1, 2, 3],
[4, 5, 6]])
print("Исходный массив:")
print(arr)
Вывод:
[[1 2 3]
[4 5 6]]
Теперь мы добавим новую ось, чтобы наш массив стал трехмерным:
new_arr = arr[:, np.newaxis, :]
print("Измененный массив с новой осью:")
print(new_arr)
Вывод:
[[[1 2 3]]
[[4 5 6]]]
Теперь массив имеет форму 2x1x3, где 2 - количество матриц, 1 - количество строк в каждой матрице, а 3 - количество столбцов в каждой матрице. Мы добавили новую ось вдоль столбцов (axis=1) и оставили строки нетронутыми.
Применение np.newaxis в операциях
Кроме добавления новой оси в массивы, np.newaxis также может быть использована в операциях. Представим, у нас есть два массива:
import numpy as np
arr1 = np.array([1, 2, 3])
arr2 = np.array([4, 5, 6])
Мы можем использовать np.newaxis, чтобы добавить новую ось к обоим массивам и выполнить операцию сложения:
sum_arr = arr1[:, np.newaxis] + arr2
print("Результат сложения:")
print(sum_arr)
Вывод:
[[5 6 7]
[6 7 8]
[7 8 9]]
Мы добавили новую ось к arr1 для получения формы (3, 1) и потом произвели сложение поэлементно с arr2. Результатом стал двумерный массив с формой (3, 3).
Заключение
В этой статье мы изучили, что такое np.newaxis в библиотеке NumPy для Python и как его использовать для добавления новой оси в массивы. Мы рассмотрели примеры на одномерных, двумерных и операциях с массивами. Запомните, что np.newaxis является мощным инструментом для изменения размерности массивов и может быть использован в различных ситуациях для работы с данными.