Укажите значение заполнения для функции расстояния scipy

#python #numpy #scipy

Вопрос:

Я хочу применить функцию расстояния SciPy к двум векторам (ряд SciPy):

 from scipy.spatial import distance
distance.jensenshannon(a, b)
 

где a находится серия

 q  0
w  1
 

и b является ли серия

 q  1
t  1
 

.

Я хочу указать значение заполнения 0, чтобы оно a стало

 q  0
w  1
t  0
 

и b становится

 q  1
w  0
t  1
 

перед применением функции расстояния.

Некоторые функции в SciPy или NumPy fill_value предназначены для этой цели. Например, я могу вычислить евклидово расстояние с np.sqrt((a.subtract(b, fill_value=0)**2).sum()) помощью . Но функции пространственного расстояния SciPy не имеют этой опции.

Каков рекомендуемый способ добиться желаемого поведения?

Комментарии:

1. Похоже, что scipy даже не выравнивает значения векторов в соответствии с индексом, чего я и ожидал.