Улучшить производительность Pandas для очень больших фреймов данных? ⇐ Python

Программы на Python
Anonymous
Улучшить производительность Pandas для очень больших фреймов данных?

Сообщение Anonymous »

У меня есть несколько фреймов данных Pandas с несколькими миллионами строк каждый. В кадрах данных есть столбцы, содержащие объекты JSON, каждый из которых содержит более 100 полей. У меня есть набор из 24 функций, которые последовательно выполняются в кадрах данных, обрабатывают JSON (например, вычисляют некоторое строковое расстояние между двумя полями в JSON) и возвращают JSON с добавлением некоторых новых полей. После выполнения всех 24 функций я получаю окончательный JSON, который затем можно использовать в своих целях.
Мне интересно, как лучше всего повысить производительность этого набора данных. Несколько вещей, которые я рассмотрел и прочитал:
  • Векторизировать сложно, потому что многие операции не так просты, как «вычесть значения этого столбца из значений другого столбца». значения».
  • Я прочитал некоторую документацию Pandas, и несколько указанных опций относятся к Cython (может быть сложно преобразовать расстояние редактирования строки в Cython, тем более что я использую внешний Python) и Numba/JIT (но упоминается, что он лучше всего подходит только для числовых вычислений).
  • Возможно, можно было бы контролировать количество потоков. 24 функции в большинстве случаев могут работать независимо друг от друга.


Подробнее здесь: https://stackoverflow.com/questions/751 ... dataframes

Вернуться в «Python»