我使用了numpy的arange函数来设置以下范围:

a = n.arange(0,5,1/2)

这个变量本身工作得很好,但是当我尝试将它放在脚本中的任何位置时,会得到一个错误,它说
零分割错误:被零分割

最佳答案

首先,step的计算结果为零(在python 2.x上就是这样)。其次,如果要使用非整数步骤,则可能需要检查np.linspace

Docstring:
arange([start,] stop[, step,], dtype=None)

Return evenly spaced values within a given interval.

[...]

When using a non-integer step, such as 0.1, the results will often not
be consistent.  It is better to use ``linspace`` for these cases.

In [1]: import numpy as np

In [2]: 1/2
Out[2]: 0

In [3]: 1/2.
Out[3]: 0.5

In [4]: np.arange(0, 5, 1/2.)  # use a float
Out[4]: array([ 0. ,  0.5,  1. ,  1.5,  2. ,  2.5,  3. ,  3.5,  4. ,  4.5])

关于python - numpy.arange除以零错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16550861/

10-10 22:14