«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Как можно использовать Np.newaxis NumPy для включения трансляции в операциях с массивом?

Как можно использовать Np.newaxis NumPy для включения трансляции в операциях с массивом?

Опубликовано 8 ноября 2024 г.
Просматривать:591

How can NumPy\'s \'np.newaxis\' be used to enable broadcasting in array operations?

Что такое np.newaxis в NumPy и как его использовать

Понимание np.newaxis'

'np.newaxis' NumPy, также известный как 'None', представляет собой псевдоиндекс, используемый для временного добавления оси в массив. При использовании один раз размер массива увеличивается на единицу. Например, 1D-массив становится 2D-массивом, 2D-массив становится 3D-массивом и так далее.

Сценарии использования 'np.newaxis'

Сценарий 1. Создание векторов строк/столбцов из одномерных массивов

'np.newaxis' можно использовать для явного преобразования одномерного массива в вектор-строку (путем вставки оси вдоль первого измерения) или вектор-столбец (путем вставки оси вдоль второго измерения).

Сценарий 2: включение трансляции NumPy

'np.newaxis' становится полезным при выполнении операций, включающих Трансляция NumPy. Например, рассмотрим добавление двух массивов с фигурами «(5,)» и «(3,)». NumPy выдаст ошибку из-за несовместимости фигур. Используя np.newaxis для увеличения размерности одного массива, можно включить широковещательную рассылку для выполнения этой операции.

Сценарий 3: Повышение размерности массивов

'np.newaxis' можно использовать несколько раз для повышения размерности массивов, что может быть необходимо для массивов более высокого порядка (тензоров).

Примеры использования

Чтобы используйте «np.newaxis», вставьте его в выражение нарезки. Например:

# Create a row vector from a 1D array
x = np.arange(4)
x_row_vector = x[np.newaxis, :]

Чтобы включить трансляцию:

# Add a 1D array to a 2D array
x1 = np.array([1, 2, 3, 4, 5])
x2 = np.array([5, 4, 3])
x1_new = x1[:, np.newaxis]    # Insert axis for broadcasting
result = x1_new   x2

Альтернатива: 'np.expand_dims'

'np.expand_dims' — это альтернатива 'np.newaxis', которая предоставляет интуитивно понятную "ось". kwarg, чтобы указать точку вставки новой оси.

Дополнительные примечания

  • 'np.newaxis' временно добавляет ось, в отличие от 'np.reshape' который преобразует массив в новый макет.
  • 'np.newaxis' и 'None' являются эквивалентными объектами.
Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3