将NumPy数组附加到NumPy数组

2024-04-27 01:03:59 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个核阵列。类似于[ 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])

Tags: numpymost列表np数组callarrayfile
3条回答
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]])

好吧,错误消息说明了这一切:NumPy数组没有append()方法。有一个自由函数^{}但是:

numpy.append(M, a)

这将创建一个新数组,而不是对M进行就地变异。注意,使用numpy.append()涉及复制两个数组。如果使用固定大小的NumPy数组,您将获得性能更好的代码。

您可以使用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]

这不会创建两个单独的数组,但会将两个数组追加到一个一维数组中。

相关问题 更多 >