Как найти наиболее похожий столбец по двум критериям
У меня есть двумерный массив и два значения. Как найти столбец, который был бы ближе остальных по a и b?
a = 5
b = 24000
m = [[4.5, 5.3, 4.2, 5.7, 5],
[25000, 23000, 22000, 27000, 13000]]
Ответы (1 шт):
Автор решения: splash58
→ Ссылка
можно попробовать искать по минимальной сумме относительных отклонений, чтобы выровнять влияние больших и маленьких значений
import numpy as np
a = 5
b = 24000
aim = np.array([a,b]).reshape(2,-1)
m = np.array([[4.5, 5.3, 4.2, 5.7, 5],
[25000, 23000, 22000, 27000, 13000]])
idx = np.sum(np.abs(m-aim) / m, axis=0).argmin()
print(m[:,idx]) # [5.3e+00 2.3e+04]