Сколько памяти занимают строки
Вопрос
df.info() показывает 8 КБ на строковую колонку из 1000 значений, а процесс съел гораздо больше. Как увидеть реальный размер колонки?
Попробуйте сами
Выберите вариант, и откроется разбор.
Показать ответ и разбор
Коротко
Варианты ответа
sys.getsizeof(df)без параметровdf.size * df.itemsizedf.memory_usage(deep=True)правильный ответdf.dtypes.nbytes
Разбор
Без deep=True pandas для строк и объектов считает только массив ссылок, по 8 байт на элемент, отсюда 8 КБ. С deep=True учитываются сами строки, и цифра вырастает в разы. df.size это число ячеек, а не байты, а itemsize у DataFrame нет. dtypes показывает типы, их nbytes к данным не относится. sys.getsizeof у DataFrame вызывает тот же подсчёт, но полагаться на него неудобно. Лечение памяти: category для повторяющихся строк, downcast чисел.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.