我有一台numpy_array。就像[ a b c ]
一样。
然后我想把它和另一个NumPy数组连接起来(就像我们创建一个列表列表一样)。如何创建包含NumPy数组的NumPy数组?
我试着做了下面的事情,但没有任何运气
>>> M = np.array([])
>>> M
array([], dtype=float64)
>>> M.append(a,axis=0)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: 'numpy.ndarray' object has no attribute 'append'
>>> a
array([1, 2, 3])
发布于 2012-03-20 02:01:38
In [1]: import numpy as np
In [2]: a = np.array([[1, 2, 3], [4, 5, 6]])
In [3]: b = np.array([[9, 8, 7], [6, 5, 4]])
In [4]: np.concatenate((a, b))
Out[4]:
array([[1, 2, 3],
[4, 5, 6],
[9, 8, 7],
[6, 5, 4]])
或者这样:
In [1]: a = np.array([1, 2, 3])
In [2]: b = np.array([4, 5, 6])
In [3]: np.vstack((a, b))
Out[3]:
array([[1, 2, 3],
[4, 5, 6]])
发布于 2012-03-20 01:59:36
错误消息说明了一切: NumPy数组没有append()
方法。但是,有一个免费的函数numpy.append()
:
numpy.append(M, a)
这将创建一个新的数组,而不是在适当的位置改变M
。请注意,使用numpy.append()
需要同时复制两个数组。如果使用固定大小的NumPy数组,您将获得更好的代码性能。
发布于 2016-07-13 20:05:08
您可以使用numpy.append()
...
import numpy
B = numpy.array([3])
A = numpy.array([1, 2, 2])
B = numpy.append( B , A )
print B
> [3 1 2 2]
这不会创建两个单独的数组,但会将两个数组追加到一个一维数组中。
https://stackoverflow.com/questions/9775297
复制相似问题