В настоящее время я использую следующую команду нечеткой логики в Excel, чтобы выбрать значение из справочной таблицы:
=IF(E49>0,VLOOKUP(E49,'Ref Table'!$D$4:$E$22,2,FALSE),"--")
Я пытаюсь написать функцию Django / Python, которая выдаст значение, ближайшее к указанным числам. (Пример: оценка = 14,5 - возвращаемое значение 0,021)
Я установил fuzzywuzzy, но я не уверен, что это лучший способ реализовать это.
Ниже приведен пример функции без Fuzzy Logic.
@register.simple_tag
def get_perc(score):
if score is None:
return '--'
else:
pct_dict = {
14: 0.016,
14.7: 0.021,
15.3: 0.026,
16: 0.034,
16.7: 0.04,
17.3: 0.05,
18: 0.07,
18.7: 0.09,
19.3: 0.11,
20: 0.13,
20.7: 0.17,
21.3: 0.21,
22: 0.26,
22.7: 0.31,
23.3: 0.38,
24: 0.47,
24.7: 0.56,
25.3: 0.68,
26: 0.82,
26.7: 0.98,
27.3: 1.17,
28: 1.39,
29.3: 1.94,
30: 2.28
}
if score in pct_dict.keys():
return pct_dict[score]
else:
return '--'
(Пример: счет = 14,5 - возвращаемое значение равно 0,021)