РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
468 of 541 menu

Метод at

Метод at класса ufunc выполняет операцию над элементами массива, расположенными по заданным индексам. Для бинарных функций метод принимает три параметра: массив, в который будет производиться запись, массив индексов и массив значений. Для унарных функций метод принимает массив и массив индексов. Операция выполняется непосредственно над элементами по указанным индексам, изменяя исходный массив.

Синтаксис

# Для бинарных функций np.ufunc.at(array, indices, values) # Для унарных функций np.ufunc.at(array, indices)

Пример

Давайте увеличим элементы массива по указанным индексам на определённое значение:

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

Результат выполнения кода:

[11 2 13 4 15]

Пример

Выполним операцию умножения для элементов по заданным индексам:

import numpy as np arr = np.array([2, 4, 6, 8, 10]) indices = np.array([1, 3]) np.multiply.at(arr, indices, 3) print(arr)

Результат выполнения кода:

[ 2 12 6 24 10]

Пример

Используем унарную функцию для изменения элементов по индексам:

import numpy as np arr = np.array([1, 2, 3, 4, 5, 6]) indices = np.array([0, 2, 4]) np.negative.at(arr, indices) print(arr)

Результат выполнения кода:

[-1 2 -3 4 -5 6]

Пример

Применим метод для работы с двумерным массивом:

import numpy as np arr = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]]) indices = np.array([0, 2]) values = np.array([[10, 20, 30], [40, 50, 60]]) np.add.at(arr, indices, values) print(arr)

Результат выполнения кода:

[[11 22 33] [ 4 5 6] [47 58 69]]

Пример

Используем метод для накопления значений по повторяющимся индексам:

import numpy as np arr = np.zeros(5, dtype=int) indices = np.array([1, 2, 1, 3, 1, 4]) values = np.array([5, 10, 7, 3, 2, 8]) np.add.at(arr, indices, values) print(arr)

Результат выполнения кода:

[ 0 14 10 3 8]

Смотрите также

  • класс ufunc,
    который представляет универсальные функции в NumPy
  • метод reduce,
    который применяет операцию последовательно к элементам массива
  • метод accumulate,
    который сохраняет все промежуточные результаты операции
  • метод outer,
    который вычисляет операцию для всех пар элементов двух массивов
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить