通过将行附加到空数组来构造二维数组

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

以下代码片段完全符合我的要求,即从一个空的列表列表开始,通过附加列表来填充二维数组。我如何仅使用 numpy 数组来实现相同的目的?

import numpy as np
list = []
list.append([1,2,3])
list.append([4,5,6])
array=np.array(list)
python list numpy multidimensional-array
1个回答
0
投票

有一个

numpy.append
功能:

import numpy as np
lst = np.ndarray((0, 3)) # empty matrix with three columns
lst = np.append(lst, [[1, 2, 3]], axis=0) # note the two pairs of brackets
lst = np.append(lst, [[4, 5, 6]], axis=0) # axis is required

这给出:

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

无法就地附加值。每次调用

append()
都会分配一个新数组并复制值。这比附加到列表并在最后转换要慢。

© www.soinside.com 2019 - 2024. All rights reserved.