Вероятно, есть nan
значения в кадре данных, nan
имеет тип float и вызывает ошибку:
from fuzzywuzzy import process, fuzz
import pandas as pd
import numpy as np
df_nan = pd.DataFrame({'text1': ["quick", "brown", "fox"], "text2": ["hello", np.NaN, "world"]})
df_nan
Out:
text1 text2
0 quick hello
1 brown NaN
2 fox world
Просто пример кода, который вызывает ту же ошибку:
[ 111] Replcace nan
с некоторым токеном (выбрать правильный токен будет трудной и зависящей от данных задачей, вероятно, пустая строка - плохой выбор):
df = df_nan.fillna('##SOME_TOKEN##')
[process.extract(i, df['text1'], limit=3) for i in df['text2']]
Out:
[[('fox', 36, 2), ('brown', 20, 1), ('quick', 0, 0)],
[('brown', 36, 1), ('fox', 30, 2), ('quick', 18, 0)],
[('fox', 30, 2), ('brown', 20, 1), ('quick', 0, 0)]]
Я предполагаю заменить или отбросить все не строковые значения помогут.
Вы могли попробовать JUnRar, "RAR обработка API реализовал в чистом Java" (заключение в кавычки сайта).