<p>您需要将要连接的数组放入参数中的序列(通常是元组或列表)。</p>
<pre><code>tmp = np.concatenate((allValues, np.array([30], float)))
tmp = np.concatenate([allValues, np.array([30], float)])
</code></pre>
<p>检查<a href="http://docs.scipy.org/doc/numpy/reference/generated/numpy.concatenate.html" rel="noreferrer">documentation</a>中的<code>np.concatenate</code>。注意,第一个参数是数组的序列(例如list、tuple)。它不把它们作为单独的参数。</p>
<p>据我所知,这个API由所有numpy的连接函数共享:<a href="http://docs.scipy.org/doc/numpy/reference/generated/numpy.concatenate.html" rel="noreferrer">^{<cd2>}</a>、<a href="http://docs.scipy.org/doc/numpy/reference/generated/numpy.hstack.html#numpy.hstack" rel="noreferrer">^{<cd3>}</a>、<a href="http://docs.scipy.org/doc/numpy/reference/generated/numpy.vstack.html#numpy.vstack" rel="noreferrer">^{<cd4>}</a>、<a href="http://docs.scipy.org/doc/numpy/reference/generated/numpy.dstack.html#numpy.dstack" rel="noreferrer">^{<cd5>}</a>和<a href="http://docs.scipy.org/doc/numpy/reference/generated/numpy.column_stack.html" rel="noreferrer">^{<cd6>}</a>都使用一个主参数,该参数应该是一些数组序列。</p>
<hr/>
<p>得到这个特殊错误的原因是数组也是序列。但这意味着<code>concatenate</code>将<code>allValues</code>解释为要连接的数组序列。然而,<code>allValues</code>的每个元素都是一个浮点数,而不是一个数组,因此被解释为一个零维数组。正如错误所说,这些“数组”不能连接。</p>
<p>第二个参数作为<code>concatenate</code>的第二个(可选)参数,该参数是要连接的轴。这只起作用,因为第二个参数中有一个元素,它可以被转换为整数,因此是一个有效值。如果在第二个参数中放入一个包含更多元素的数组,则会出现不同的错误:</p>
<pre><code>a = np.array([1, 2])
b = np.array([3, 4])
np.concatenate(a, b)
# TypeError: only length-1 arrays can be converted to Python scalars
</code></pre>