Python Numpy将列表附加到数组而不合并它们

Python Numpy将列表附加到数组而不合并它们,python,python-3.x,numpy,numpy-ndarray,Python,Python 3.x,Numpy,Numpy Ndarray,有空数组的 x = numpy.empty(0) 还有两个类似的列表 l1 = [1, 2, 3] l2 = [4, 5, 6] np.array([[1, 2, 3], [4, 5, 6]) 如何将列表添加到空数组中,使其变成这样 l1 = [1, 2, 3] l2 = [4, 5, 6] np.array([[1, 2, 3], [4, 5, 6]) 而不是 np.array([1, 2, 3, 4, 5, 6]) 这就是当我使用 x = np.append(x, l1) x =

有空数组的

x = numpy.empty(0)
还有两个类似的列表

l1 = [1, 2, 3]
l2 = [4, 5, 6]
np.array([[1, 2, 3], [4, 5, 6])
如何将列表添加到空数组中,使其变成这样

l1 = [1, 2, 3]
l2 = [4, 5, 6]
np.array([[1, 2, 3], [4, 5, 6])
而不是

np.array([1, 2, 3, 4, 5, 6])
这就是当我使用

x = np.append(x, l1)
x = np.append(x, l2)

首先,将列表转换为numpy数组,以便更灵活地工作

from numpy import *
l1 = [1, 2, 3]
l2 = [4, 5, 6]
l1_np = asarray(l1)
l2_np = asarray(l2)
l = concatenate([l1_np,l2_np])
只需使用垂直顺序堆叠阵列:

l1 = [1, 2, 3]
l2 = [4, 5, 6]


x = np.vstack([l1, l2])
print(x)
这导致:

array([[1, 2, 3],
       [4, 5, 6]])

您可以简单地执行
x=np.array([l1,l2])
,如果您需要频繁追加,我建议将其追加到列表中,然后在需要时转换为数组
np.append
比list.append更昂贵。你的用例是什么,为什么你首先定义
x=numpy.empty(0)
?FWIW,如果你想使用
np.append
代码将是:
x=np.empty((0,3));x=np.append(x[l1],轴=0);追加(x[l2],axis=0)
您没有仔细阅读
追加
文档。够了!虽然性能可能更差,但简单易用且似乎有效