У меня есть большой полярный фрейм данных, который представляет собой перекрестное произведение двух фреймов данных. Я пытаюсь использовать библиотеку медуз, чтобы получить оценку сходства по двум столбцам, например:
Код: Выделить всё
vec_jw_similarity = np.vectorize(jellyfish.jaro_winkler_similarity)
cross_df.with_columns(
(pl.struct(["title", "author", "title_right", "author_right"])
.map_batches(
lambda auth_title: vec_jw_similarity(
auth_title.struct.field("title"),
auth_title.struct.field("title_right"),
)
)
).alias("JW_similarity")
)
Я пробовал это на своем компьютере и на Colab, и каждый раз происходит сбой ядра, и на моей машине появляется сообщение об ошибке, указывающее на утечку памяти. Я опробовал код медузы в цикле на синтезированных данных, которые на порядок превышают мой фрейм данных, и он работает без утечек или сбоев, поэтому я подозреваю, что это полярные данные, но я могу ошибаться.
Подробнее здесь:
https://stackoverflow.com/questions/790 ... e-data-set