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

问题描述 投票:1回答:1

拥有一个空数组

x = numpy.empty(0)

和两个列表,看起来像这样

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)
python python-3.x numpy numpy-ndarray
1个回答
2
投票
import numpy as np

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

x.append(l1)
x.append(l2)

x = np.array(x)
print(x)

1
投票

只要使用 np.vstack 以垂直方向依次堆叠数组。

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


x = np.vstack([l1, l2])
print(x)

这样做的结果是:

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

0
投票

首先要把列表转换成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])
© www.soinside.com 2019 - 2024. All rights reserved.