Чтобы понять np.add.at() в Python, это специализированная функция NumPy для небуферизованного сложения на месте по определенным индексам массива, включая обработку повторяющихся индексов.
Например, np.add.at(arr, [index1, index2], [value1, value2]) добавляет значения по указанным индексам arr. Между тем, np.add.reduce() используется для уменьшения размеров массива путем суммирования его элементов по заданной оси, например np.add.reduce (arr, axis=0) для суммирования по столбцам в двумерном массиве.
- Синтаксис
- Параметр
- Варианты использования массива
- 1. Для простого добавления
- 2. С повторяющимися индексами
- Функция np.add.reduce()
Синтаксис
Основной синтаксис функции 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.