У меня есть следующая функция, которая использует fuzzywuzzy для нахождения отношения расстояний Левенштейна между двумя именами из двух столбцов с именами psn_name_x и psn_name_y:
def fuzzMatcher(x, y):
return fuzz.token_set_ratio(x, y)
Затем я создаю новый столбец в моем фрейме данных dask:
data["fuzz"] = data.map_partitions(lambda df: df.apply(lambda row: fuzzMatcher(row.psn_name_x, row.psn_name_y), axis = 1)).compute(scheduler = "processes")
Полученные новые столбцы представляют собой целое число от 0 до 100.
Это работает достаточно хорошо, но этот набор данных огромен, и время вычисления для этого достаточно медленное. Есть ли лучший способ применить функцию, которая принимает значения из двух столбцов и возвращает новое значение в новый столбец на фрейме данных dask?