Ошибка в np.apply_along_axis при кластеризации строк - PullRequest
0 голосов
/ 28 мая 2018

Я повторяю следующий пример.https://codereview.stackexchange.com/questions/37026/string-matching-and-clustering?newreg=cb75d7017b9e48d082161b53d5037891

from jellyfish import jaro_distance
words = 'CHEESE CHORES GEESE GLOVES'.split()
def d(coord):
    i, j = coord
    return (1 - jaro_distance(words[i], words[j]))

import numpy as np
a=np.triu_indices(len(words), 1)

np.apply_along_axis(d, axis=0, arr=a)

В последней строке np.apply_along_axis выдается следующая ошибка:

---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
<ipython-input-59-5af45815fc52> in <module>()
----> 1 np.apply_along_axis(d, axis=-1, arr=a)

/Users/ravinderbhatia/anaconda/lib/python2.7/site-packages/numpy/lib/shape_base.pyc in apply_along_axis(func1d, axis, arr, *args, **kwargs)
    130     except StopIteration:
    131         raise ValueError('Cannot apply_along_axis when any iteration dimensions are 0')
--> 132     res = asanyarray(func1d(inarr_view[ind0], *args, **kwargs))
    133 
    134     # build a buffer for storing evaluations of func1d.

<ipython-input-50-0f89f3df3d2e> in d(coord)
      1 def d(coord):
----> 2     i, j = coord
      3     return (1 - jaro_distance(words[i], words[j]))

ValueError: too many values to unpack

Невозможно понять причину.В примере это, кажется, работает.

...