Параллельная обработка с функцией RapidFuzzPython

Программы на Python
Ответить
Anonymous
 Параллельная обработка с функцией RapidFuzz

Сообщение Anonymous »

У меня есть набор данных из 100 000 записей. Моя проблема заключается в типе «многие ко многим», где мне нужно вычислить нечеткую оценку столбца имени в каждой строке со 100 тысячами строк. Я использую цикл for для перебора каждой строки и расчета оценки нечеткости с помощью метода применения pandas. Реальная проблема заключается в том, что код занимает около 15 часов, поэтому я попытался использовать параллельную обработку и многопроцессорную обработку, чтобы сократить это время, но в конечном итоге не смог применить такие вещи.
Dataframe выглядит, как показано ниже:

Код: Выделить всё

id   Name
1    Alpha
2    Beta
3    Gamma
4    Theta
5    Lambda
.      .
.      .
.      .
and so on to 100k records
Я ожидаю создать фрейм данных, который будет содержать данные со значением нечеткости выше 75.
Ожидаемый результат:

Код: Выделить всё

id_1   Name_1   id_2   Name_2   Score
1      Alpha    39     Alph     88
3      Gamma    78     Gamme    80
4      Theta    56     heta     88
Я не могу использовать pd.merge для перекрестного соединения, а затем вычислить оценку с помощью метода apply, поскольку этому методу требуется много оперативной памяти.


Подробнее здесь: https://stackoverflow.com/questions/747 ... z-function
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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