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

Условие у функции в NumPy

У универсальной операции можно передать логическую маску: там, где маска ложна, значение в массиве назначения остаётся прежним, а там, где маска истинна, выполняется действие.

Это не тот же приём, что трёхаргументная where из основного курса: здесь условие задаётся у самой универсальной функции при сложении или другой операции.

Стартовый буфер лучше передать как копию исходного ряда, чтобы в невыбранных ячейках сохранились нужные числа:

import numpy as np scores = np.array([3, 5, 2, 4]) mask = scores >= 4 dest = scores.copy() np.add(dest, 10, where=mask, out=dest) print(dest) # выведет [ 3 15 2 14]

Для ряда цен [100, 50, 200] сделайте маску «цена не ниже 100», скопируйте ряд в буфер, прибавьте 10 только там, где маска истинна, и выведите буфер.

Для оценок [2, 4, 5, 3] оставьте без изменения ячейки ниже 4, а к остальным прибавьте 1 через буфер-копию и выведите результат.

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить