Реальная обратная сторона установки всего как индекса глубоко скрыта в документах расширенного индексирования Pandas: индексирование может изменить dtype столбца, для которого установлено значение index .Я ожидаю, что вы столкнетесь с этой проблемой до того, как реализуете ожидаемое повышение производительности.
Что касается этого повышения производительности, вы платите за предварительное индексирование при создании объекта Series
, независимо от того, устанавливаете ли вы его явно.AFAIK Pandas индексирует все по умолчанию.И, как пишет Джейк ВандерПлас в своей превосходной книге:
Если Серия - это аналог одномерного массива с гибкими индексами, DataFrame - это аналог двумерного массива синдексы строк и гибкие имена столбцов.Точно так же, как вы можете думать о двумерном массиве как о упорядоченной последовательности выровненных одномерных столбцов, вы можете думать о DataFrame как о последовательности выровненных объектов Series.Здесь под «выровненным» мы подразумеваем, что они имеют один и тот же индекс.- Джейк ВандерПлас, Python Data Science Handbook
Итак, причина для того, чтобы установить что-то в качестве индекса, состоит в том, чтобы вам было легче работать с вашими данными или поддерживать вашишаблон доступа к данным, необязательно для оптимизации производительности, такой как индекс базы данных.