Понимание np.newaxis в NumPy: изменение массивов и манипулирование ими

np.newaxis — это специальная константа, используемая в NumPy, мощной библиотеке числовых вычислений для Python. Это не термин из английского языка; скорее, это обозначение, специфичное для NumPy.

В NumPy «np.newaxis» используется для увеличения размерности массива на единицу. Он часто используется для изменения формы или преобразования массивов в соответствии с требуемой формой ввода для определенных математических операций или трансляции.

Вот пример кода, демонстрирующий использование «np.newaxis»:

import numpy as np
# Create a 1-dimensional array
a = np.array([1, 2, 3, 4, 5])
# Convert the 1-dimensional array to a 2-dimensional column vector
column_vector = a[:, np.newaxis]
print(column_vector)

Выход:

[[1]
 [2]
 [3]
 [4]
 [5]]

В приведенном выше примере мы начинаем с одномерного массива a. Используя a[:, np.newaxis], мы вводим в массив новую ось, эффективно преобразуя ее в двумерный вектор-столбец.

Вот несколько дополнительных методов, которые вы можете использовать с «np.newaxis» для управления массивами:

  1. Изменение формы массива:

    # Convert a 1-dimensional array to a row vector
    row_vector = a[np.newaxis, :]
  2. Расширяющиеся параметры:

    # Create a 3x3 grid of zeros
    grid = np.zeros((3, 3))
    # Add a new axis, converting it into a 3D grid
    expanded_grid = grid[np.newaxis, :, :]
  3. Вещательные массивы:

    # Create two arrays of different shapes
    x = np.array([1, 2, 3])
    y = np.array([4, 5])
    # Add a new axis to allow broadcasting
    x = x[:, np.newaxis]
    # Perform element-wise addition
    result = x + y[:, np.newaxis]