更新anaconda后,numpy.histogram失败 [英] numpy.histogram fails after updating anaconda

查看:87
本文介绍了更新anaconda后,numpy.histogram失败的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我一直在使用matplotlib函数plt.hist从值mV的数组生成直方图数据.过去这种方法效果很好,但是自从我更新anaconda版本以来,它就会抛出ValueError:

I have been using the matplotlib function plt.hist to generate histogram data from an array of values mV. This has worked fine in the past, but ever since I've updated my version of anaconda it throws back a ValueError:

---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
/users/benjatin/HomeData/Code/buildSkyMap.py in <module>()
     72         #get histogram of efficiencies
     73         plt.figure()
---> 74         a=plt.hist(mV,bins=50)
     75         plt.close()
     76 

/opt/apps/lsst/feb14/Linux64/anaconda/2.1.0/lib/python2.7/site-packages/matplotlib/pyplot.pyc in hist(x, bins, range, normed, weights, cumulative, bottom, histtype, align, orientation, rwidth, log, color, label, stacked, hold, **kwargs)
   2888                       histtype=histtype, align=align, orientation=orientation,
   2889                       rwidth=rwidth, log=log, color=color, label=label,
-> 2890                       stacked=stacked, **kwargs)
   2891         draw_if_interactive()
   2892     finally:

/opt/apps/lsst/feb14/Linux64/anaconda/2.1.0/lib/python2.7/site-packages/matplotlib/axes/_axes.pyc in hist(self, x, bins, range, normed, weights, cumulative, bottom, histtype, align, orientation, rwidth, log, color, label, stacked, **kwargs)
   5634             # this will automatically overwrite bins,
   5635             # so that each histogram uses the same bins
-> 5636             m, bins = np.histogram(x[i], bins, weights=w[i], **hist_kwargs)
   5637             m = m.astype(float)  # causes problems later if it's an int
   5638             if mlast is None:

/opt/apps/lsst/feb14/Linux64/anaconda/2.1.0/lib/python2.7/site-packages/numpy/lib/function_base.pyc in histogram(a, bins, range, normed, weights, density)
    598                 n.imag += np.bincount(indices, weights=tmp_w.imag, minlength=bins)
    599             else:
--> 600                 n += np.bincount(indices, weights=tmp_w, minlength=bins).astype(ntype)
    601 
    602         # We now compute the bin edges since these are returned

ValueError: The first argument of bincount must be non-negative

mV中的任何值都不为负,问题

None of the values in mV are negative, as was the problem here:

In [34]: mV[mV < 0]
Out[34]: array([], dtype=float64)

我所做的更新是:

    conda:     3.7.0-py27_0 --> 4.0.5-py27_0 (soft-link)
    openssl:   1.0.1h-1     --> 1.0.2h-0     (soft-link)
    python:    2.7.8-1      --> 2.7.11-0     (soft-link)
    pyyaml:    3.11-py27_0  --> 3.11-py27_1  (soft-link)
    requests:  2.4.1-py27_0 --> 2.9.1-py27_0 (soft-link)
    sqlite:    3.8.4.1-0    --> 3.9.2-0      (soft-link)
    tk:        8.5.15-0     --> 8.5.18-0     (soft-link)
    yaml:      0.1.4-0      --> 0.1.6-0      (soft-link)
    zlib:      1.2.7-0      --> 1.2.8-0      (soft-link)

在此先感谢您对解决此问题的帮助.

Thanks in advance for any help solving this issue.

推荐答案

在绘制直方图之前,请先过滤掉数据中的所有nan和inf.在此处中查看错误报告.

Filter out any nan and inf from your data before plotting the histogram. See the bug report here.

这篇关于更新anaconda后,numpy.histogram失败的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆