В этом сообщении блога мы углубимся в библиотеку NumPy и рассмотрим одну из ее основных функций —expand_dims. Функцияexpand_dims позволяет нам добавлять дополнительное измерение к нашим массивам NumPy, что позволяет нам выполнять различные манипуляции и операции с массивами. В этой статье мы рассмотрим несколько методов и приведем примеры кода, чтобы продемонстрировать универсальность и полезностьexpand_dims.
Метод 1: базовое использование
Функцияexpand_dims проста в использовании. Начнем с простого примера:
import numpy as np
# Create a 1-dimensional array
arr = np.array([1, 2, 3, 4, 5])
# Expand the dimensions of the array
expanded_arr = np.expand_dims(arr, axis=0)
print("Original array:\n", arr)
print("Expanded array:\n", expanded_arr)
Выход:
Original array:
[1 2 3 4 5]
Expanded array:
[[1 2 3 4 5]]
В этом примере у нас есть одномерный массив arr, и с помощью np.expand_dimsмы добавляем к нему дополнительное измерение. Результирующий массив expanded_arrстановится двумерным массивом.
Метод 2: манипулирование многомерными массивами
Функцияexpand_dims становится особенно полезной при работе с многомерными массивами. Рассмотрим следующий пример:
import numpy as np
# Create a 2-dimensional array
arr = np.array([[1, 2], [3, 4]])
# Expand the dimensions along axis 0
expanded_arr = np.expand_dims(arr, axis=0)
print("Original array:\n", arr)
print("Expanded array:\n", expanded_arr)
Выход:
Original array:
[[1 2]
[3 4]]
Expanded array:
[[[1 2]
[3 4]]]
В данном случае у нас есть двумерный массив arr, и, указав axis=0, мы расширяем размеры по первой оси. Результирующий массив expanded_arrстановится трехмерным.
Метод 3: объединение с широковещательной рассылкой
Функциюexpand_dims можно комбинировать с широковещательной рассылкой для эффективного выполнения различных операций. Давайте рассмотрим пример, в котором мы хотим добавить два массива поэлементно:
import numpy as np
# Create two 1-dimensional arrays
arr1 = np.array([1, 2, 3])
arr2 = np.array([4, 5, 6])
# Expand dimensions for broadcasting
expanded_arr1 = np.expand_dims(arr1, axis=1)
expanded_arr2 = np.expand_dims(arr2, axis=0)
# Perform element-wise addition using broadcasting
result = expanded_arr1 + expanded_arr2
print("Array 1:\n", expanded_arr1)
print("Array 2:\n", expanded_arr2)
print("Result:\n", result)
Выход:
Array 1:
[[1]
[2]
[3]]
Array 2:
[[4 5 6]]
Result:
[[5 6 7]
[6 7 8]
[7 8 9]]
В этом примере мы сначала расширяем размеры arr1по оси 1 и arr2по оси 0 с помощью метода «expand_dims». Затем, выполняя поэлементное сложение, получаем желаемый результат с помощью трансляции.
Функция NumPyexpand_dims — мощный инструмент для манипулирования и работы с массивами в Python. В этой статье мы рассмотрели несколько методов использованияexpand_dims, начиная от базового использования и заканчивая его сочетанием с трансляцией. Добавляя к массивам дополнительное измерение, мы можем открыть широкий спектр возможностей для манипуляций с массивами и эффективных вычислений.