以下代码片段完全符合我的要求,即从一个空的列表列表开始,通过附加列表来填充二维数组。我如何仅使用 numpy 数组来实现相同的目的?
import numpy as np
list = []
list.append([1,2,3])
list.append([4,5,6])
array=np.array(list)
有一个
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()
都会分配一个新数组并复制值。这比附加到列表并在最后转换要慢。