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

Подстановка по условию в NumPy

Функция where принимает три массива одной формы: логическое условие, значение для ячеек с True и значение для ячеек с False. На выходе новый массив той же формы, что и условие. Исходные данные при этом не меняются.

Возьмём ряд и подставим нули там, где число не больше 3, а в остальных ячейках оставим исходное значение:

import numpy as np scores = np.array([1, 4, 3, 5]) result = np.where(scores > 3, scores, 0) print(result) # выведет [0 4 0 5] print(scores) # выведет [1 4 3 5]

Вместо нуля можно подставить любое число или другой массив той же формы. Заменим малые значения на -1, а большие оставим как были:

import numpy as np temps = np.array([10, 20, 15, 25]) fixed = np.where(temps >= 18, temps, -1) print(fixed) # выведет [-1 20 -1 25]

Создайте ряд из чисел 2, 7, 5 и 9, соберите новый ряд той же длины: где элемент больше 6, оставьте его, иначе запишите 0, и выведите результат.

Задайте ряд из четырёх температур, получите массив, где при значении ниже 0 стоит 0, а иначе исходное число, и выведите его. Исходный ряд тоже выведите и убедитесь, что он не изменился.

Создайте ряд из чисел 1, 2, 2 и 3, подставьте 10 там, где значение равно 2, а в остальных ячейках оставьте исходные числа, и выведите новый ряд.

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