Что выведет код Junior Производительность и память обновлено
np.where и np.select
Вопрос
Что выведет код? По строке на каждый print.
import numpy as np
import pandas as pd
s = pd.Series([50, 500, 5000])
print(np.where(s > 100, 'big', 'small').tolist())
print(np.select([s < 100, s < 1000], ['low', 'mid'], default='high').tolist())
Попробуйте сами
Напишите, что выведет код: каждый вывод с новой строки.
Показать ответ и разбор
Коротко
Код выведет: ['small', 'big', 'big'], ['low', 'mid', 'high']. np.where выбирает из двух значений по маске. np.select проверяет условия по порядку: 50 подходит под первое, 500 только под второе, 5000 ни под одно и получает default.
Что выведет
['small', 'big', 'big']
['low', 'mid', 'high']
Разбор
np.where выбирает из двух значений по маске. np.select проверяет условия по порядку: 50 подходит под первое, 500 только под второе, 5000 ни под одно и получает default.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.
Термины по теме
Ещё по теме «Производительность и память»
- Чем заменить apply(axis=1)
- Когда помогает тип category
- Цепочное присваивание в pandas 3.0
- Обнулить тестовые заказы через loc
- Скидка по категории через map
- Категории сумм через np.select
- Ужать DataFrame: category и downcast
- category теряется при concat