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