擅长:python、mysql、java
<p>如果<code>np.array</code>数据类型是floats,那么<a href="http://docs.scipy.org/doc/numpy/reference/generated/numpy.allclose.html" rel="noreferrer">np.allclose</a>是一个不错的选择。<code>np.array_equal</code>并不总是正常工作。例如:</p>
<pre><code>import numpy as np
def get_weights_array(n_recs):
step = - 0.5 / n_recs
stop = 0.5
return np.arange(1, stop, step)
a = get_weights_array(5)
b = np.array([1.0, 0.9, 0.8, 0.7, 0.6])
</code></pre>
<p>结果:</p>
<pre><code>>>> a
array([ 1. , 0.9, 0.8, 0.7, 0.6])
>>> b
array([ 1. , 0.9, 0.8, 0.7, 0.6])
>>> np.array_equal(a, b)
False
>>> np.allclose(a, b)
True
>>> import sys
>>> sys.version
'2.7.3 (default, Apr 10 2013, 05:13:16) \n[GCC 4.7.2]'
>>> np.version.version
'1.6.2'
</code></pre>