Выбор ответа Junior Чтение и запись данных спрашивают часто обновлено
Целые числа стали float после чтения
Вопрос
Колонка qty содержит целые числа и пару пустых ячеек. После read_csv значения выглядят как 1.0, 2.0, NaN. Почему?
Попробуйте сами
Выберите вариант, и откроется разбор.
Показать ответ и разбор
Коротко
Правильный ответ: Пустые ячейки стали NaN, а он бывает только во float; решение Int64. Классический int64 не умеет хранить пропуск, поэтому pandas повышает тип до float64.
Варианты ответа
- pandas всегда читает числа из CSV как float64, даже если пропусков нет
- Пустые ячейки стали NaN, а он бывает только во float; решение
Int64правильный ответ - Это ошибка разделителя: точка с запятой склеила колонки в одну
- CSV хранит числа как float, и
.0появляется ещё при записи файла
Разбор
Классический int64 не умеет хранить пропуск, поэтому pandas повышает тип до float64. Nullable-тип Int64 (с большой буквы) хранит целые и <NA>. Колонка без пропусков читалась бы как int64, разделитель и формат CSV тут ни при чём.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.
Термины по теме
Ещё по теме «Чтение и запись данных»
- Как прочитать большой файл в pandas
- Файл больше памяти в pandas
- Агрегат по кускам через chunksize
- Вложенный JSON заказов в таблицу
- Разбор выгрузки из Excel: sep, decimal, dtype
- Запятая в дробях при чтении CSV
- CSV для русского Excel
- Вложенный JSON в таблицу