Выбор ответа Junior Производительность и память обновлено

downcast числовых колонок

Вопрос

Что сделает pd.to_numeric(s, downcast="integer") для колонки со значениями от 0 до 300?

Попробуйте сами

Выберите вариант, и откроется разбор.

Показать ответ и разбор

Коротко

Правильный ответ: Приведёт к int16, минимальному типу для 300. downcast="integer" выбирает наименьший знаковый целый тип, в который помещаются все значения. int8 вмещает до 127, а 300 нет, поэтому int16.

Варианты ответа

  1. Приведёт к int8, самому маленькому целому типу
  2. Приведёт к int16, минимальному типу для 300правильный ответ
  3. Оставит int64, потому что downcast не нужен
  4. Приведёт к uint8, раз отрицательных значений нет

Разбор

downcast="integer" выбирает наименьший знаковый целый тип, в который помещаются все значения. int8 вмещает до 127, а 300 нет, поэтому int16. Беззнаковые типы выбирает downcast="unsigned", но uint8 тоже ограничен 255.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.