TypeError: ufunc 'soustraction' ne contient pas une boucle avec la signature de correspondance des types dtype('<U1') dtype('<U1') dtype('<U1')

Étrange erreur de numpy par matplotlib en essayant d'obtenir un histogramme d'un petit jouet jeu de données. Je ne suis pas sûr de savoir comment interpréter l'erreur, ce qui le rend difficile à voir, que faire ensuite.

N'ai pas trouver beaucoup d'liées, bien que cette question nltk et cette question gdsCAD sont superficiellement similaires.

J'entends les infos de débogage à fond pour être plus utile que le code de pilote, mais si j'ai oublié quelque chose, merci de demander. C'est reproductible dans le cadre d'une suite de tests.

        if n > 1:
return diff(a[slice1]-a[slice2], n-1, axis=axis)
else:
>           return a[slice1]-a[slice2]
E           TypeError: ufunc 'subtract' did not contain a loop with signature matching types dtype('<U1') dtype('<U1') dtype('<U1')
../py2.7.11-venv/lib/python2.7/site-packages/numpy/lib/function_base.py:1567: TypeError
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> entering PDB >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
> py2.7.11-venv/lib/python2.7/site-packages/numpy/lib/function_base.py(1567)diff()
-> return a[slice1]-a[slice2]
(Pdb) bt
[...]
py2.7.11-venv/lib/python2.7/site-packages/matplotlib/axes/_axes.py(5678)hist()
-> m, bins = np.histogram(x[i], bins, weights=w[i], **hist_kwargs)
py2.7.11-venv/lib/python2.7/site-packages/numpy/lib/function_base.py(606)histogram()
-> if (np.diff(bins) < 0).any():
> py2.7.11-venv/lib/python2.7/site-packages/numpy/lib/function_base.py(1567)diff()
-> return a[slice1]-a[slice2]
(Pdb) p numpy.__version__
'1.11.0'
(Pdb) p matplotlib.__version__
'1.4.3'
(Pdb) a
a = [u'A' u'B' u'C' u'D' u'E']
n = 1
axis = -1
(Pdb) p slice1
(slice(1, None, None),)
(Pdb) p slice2
(slice(None, -1, None),)
(Pdb)

OriginalL'auteur Gregory Marton | 2016-04-15