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

Выбор по списку условий в NumPy

Функция select принимает список логических массивов, список подставляемых значений той же формы и значение по умолчанию. Для каждой ячейки проверяют условия по порядку: срабатывает первое истинное, остальные для этой ячейки уже не смотрят. Это не то же самое, что функция where с тремя аргументами: там одно условие и два варианта, а здесь несколько веток с разными результатами.

Зададим три порога для ряда температур и получим код уровня для каждой ячейки:

import numpy as np temps = np.array([5, 22, 35]) hot = temps > 30 warm = (temps >= 15) & (temps <= 30) cold = temps < 15 codes = np.select([hot, warm, cold], [3, 2, 1]) print(codes) # выведет [1 2 3]

Если ни одно условие не подошло, берут значение по умолчанию. Проверим на ряде, где часть чисел не попадает ни под одну маску:

import numpy as np levels = np.array([12, 50]) high = levels > 40 low = levels < 0 labels = np.select([high, low], [10, -10], default=0) print(labels) # выведет [ 0 10]

По ряду [8, 18, 28, 38] задайте четыре непересекающихся условия по десяткам и выведите ряд кодов 1, 2, 3, 4 для каждой ячейки.

По ряду [3, -1, 7] оставьте две проверки на отрицательное и больше 5, подставьте 100 и 200, по умолчанию 0, и выведите результат.

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