Несколько рекомендаций, как оптимизировать поиск значений в больших DataFrame:
- Использовать векторизованные операции. 3 Они выполняются с высокой скоростью на уровне C и значительно быстрее традиционных методов. 3 Для итераций по данным можно использовать методы .apply(), .itertuples() и .iterrows(). 3
- Обратиться к функциям NumPy или Cython. 3 NumPy повышает производительность и оптимизирует использование памяти, а Cython позволяет значительно увеличить скорость исполнения кода. 3
- Не маскировать весь DataFrame для выбора известной серии. 1 Лучше замаскировать только серию и выбрать значение. 1
- Использовать .item() вместо< 0/strong>. 1 Это даёт небольшое, но заметное улучшение, особенно для фреймов данных меньшего размера. 1
- Если количество подстрок мало, то быстрее искать по одной за раз. 2 Для этого нужно передать аргумент regex=False в функцию contains. 2
Выбор метода зависит от объёма данных и требуемой скорости обработки. 3 Для тестирования производительности можно использовать специализированные утилиты, например timeit. 3