Чтобы понять np.add.at() в Python, это специализированная функция NumPy для небуферизованного сложения на месте по определенным индексам массива, включая обработку повторяющихся индексов.

Например, np.add.at(arr, [index1, index2], [value1, value2]) добавляет значения по указанным индексам arr. Между тем, np.add.reduce() используется для уменьшения размеров массива путем суммирования его элементов по заданной оси, например np.add.reduce (arr, axis=0) для суммирования по столбцам в двумерном массиве.

Содержание

Синтаксис

Основной синтаксис функции np.add.at() в Python следующий:

numpy.add.at(arr, indices, values)

Параметр

Здесь:

arr Массив в Python, к которому будут добавлены значения. Этот массив модифицируется на месте.
indices Места в массиве Python, куда следует добавить значения. Это может быть одно целое число, список целых чисел или кортеж целочисленных массивов.
values Значения должны быть добавлены по указанным индексам в массиве в Python.

Варианты использования массива

Ключевой особенностью функции np.add.at() в Python является ее способность выполнять небуферизованное сложение на месте по указанным индексам. Это означает, что если индекс повторяется в индексах, соответствующее значение в значениях добавляется несколько раз.

Давайте рассмотрим некоторые варианты использования функции np.add.at() в Python.

1. Для простого добавления

Здесь мы попробуем выполнить простое сложение со всеми параметрами функции np.add.at() в Python:

import numpy as np

arr = np.array([1, 2, 3, 4, 5])
np.add.at(arr, [0, 2, 4], 10)
print(arr)

Выход:

[11  2 13  4 15]

На следующем снимке экрана показаны результаты, полученные при выполнении кода в редакторе PyCharm.

Для простого добавления

2. С повторяющимися индексами

Здесь мы попробуем добавить массивы с повторяющимися индексами в Python.

import numpy as np

arr = np.array([1, 2, 3, 4, 5])
np.add.at(arr, [0, 0, 2, 2], [1, 2, 3, 4])
print(arr)

Выход:

[ 4  2 10  4  5]

Результат запуска кода в PyCharm визуально представлен на снимке экрана ниже.

С повторяющимися индексами

Функция np.add.reduce()

Функция numpy.add.reduce() в Python многократно применяет операцию добавления к элементам массива, эффективно уменьшая размерность массива на единицу.

Синтаксис:

numpy.add.reduce(array, axis=0, dtype=None, out=None, keepdims=False, initial)

Например:

import numpy as np

arr = np.array([[1, 2, 3], [4, 5, 6]])

total_sum = np.add.reduce(arr)
print("Total Sum:", total_sum)

sum_along_axis0 = np.add.reduce(arr, axis=0)
print("Sum along axis 0:", sum_along_axis0)

sum_along_axis1 = np.add.reduce(arr, axis=1)
print("Sum along axis 1:", sum_along_axis1)

Выход:

Total Sum: [5 7 9]
Sum along axis 0: [5 7 9]
Sum along axis 1: [ 6 15]

Ниже показан снимок экрана, на котором запечатлен результат выполнения кода в редакторе PyCharm.

Функция np.add.reduce() 

Добавить комментарий