Внутренние механизмы работы pandas Series устроены так, что столбцы данных группируются в блоки со значениями одинакового типа. habr.com За хранение сведений о соответствии между индексами строк и столбцов набора данных и того, что хранится в блоках однотипных данных, отвечает класс BlockManager. habr.com
Каждый тип данных имеет специализированный класс в модуле pandas.core.internals. habr.com Например, pandas использует класс ObjectBlock для представления блоков, содержащих строковые столбцы, и класс FloatBlock для представления блоков, содержащих столбцы, хранящие числа с плавающей точкой. habr.com
Для оптимизации производительности pandas Series можно предпринять следующие шаги:
- Использовать категориальные типы данных. popov.dev Они позволяют эффективнее распоряжаться памятью и представляют все уникальные значения в столбце. habr.com
- Использовать эффективные типы данных. popov.dev По умолчанию в pandas используются типы данных с большим объёмом памяти. popov.dev Оптимизация типов данных, особенно для больших наборов данных, позволяет сэкономить память и повысить производительность. popov.dev
- Обрабатывать данные частями. popov.dev Для очень больших датасетов, которые не помещаются в память, можно считывать и обрабатывать данные частями (чанками). popov.dev
- Векторизировать данные. nuancesprog.ru Для этого можно использовать оптимизированный код языка C, который преобразует данные в векторы и матрицы, что позволяет использовать преимущества параллельной обработки. nuancesprog.ru