Выбор ответа Junior Производительность и память обновлено
downcast числовых колонок
Вопрос
Что сделает pd.to_numeric(s, downcast="integer") для колонки со значениями от 0 до 300?
Попробуйте сами
Выберите вариант, и откроется разбор.
Показать ответ и разбор
Коротко
Правильный ответ: Приведёт к int16, минимальному типу для 300. downcast="integer" выбирает наименьший знаковый целый тип, в который помещаются все значения. int8 вмещает до 127, а 300 нет, поэтому int16.
Варианты ответа
- Приведёт к
int8, самому маленькому целому типу - Приведёт к
int16, минимальному типу для 300правильный ответ - Оставит
int64, потому что downcast не нужен - Приведёт к
uint8, раз отрицательных значений нет
Разбор
downcast="integer" выбирает наименьший знаковый целый тип, в который помещаются все значения. int8 вмещает до 127, а 300 нет, поэтому int16. Беззнаковые типы выбирает downcast="unsigned", но uint8 тоже ограничен 255.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.
Термины по теме
Ещё по теме «Производительность и память»
- Чем заменить apply(axis=1)
- Когда помогает тип category
- Цепочное присваивание в pandas 3.0
- Обнулить тестовые заказы через loc
- Скидка по категории через map
- Категории сумм через np.select
- Ужать DataFrame: category и downcast
- category теряется при concat