Что такое 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, чтобы указать точку вставки новой оси.
Дополнительные примечания
Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3