У меня есть набор данных "sc" с алфавитами и с координатами.Например,
alphabets Y X
q 3 1
w 3 2
e 3 3
r 3 4
t 3 5
y 3 6
u 3 7
i 3 8
o 3 9
...
Мне интересно вычислить расстояние между последовательными алфавитами в слове, используя теорему Пифагора.Например, для слова «que» это расстояние будет (6 + 4) = 10.
Я написал код на Python, но мой код выполняется почти 2 часа.У меня есть набор данных с более чем 500k строк.PS Слово может быть буквенно-цифровым.
Вот мой код:
def key_score(w):
score=0
for i in range(0,len(w)-1):
t=pd.DataFrame(list(w[i:i+2].lower()))
t.columns = ['alphabets']
u = pd.merge(sc, t, how='inner', on=['alphabets'])
v = np.sqrt(((u['X'][0] - u['X'][1])**2)+((u['Y'][0] - u['Y'][1])**2))
score = score + v
return score
Любая помощь будет высоко оценена!