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)
您没有仔细阅读追加
文档。够了!虽然性能可能更差,但简单易用且似乎有效