如何在逐行填充的python中创建一个ndarray

时间:2018-03-18 14:07:01

标签: python arrays

我想用python创建一个nxm ndarray,如下所示:

myarray = np.empty(n)
for index in range(5):
    row = do_some_calculations(index)# returns an array of length n
    np.stack[myarray, row]) 

哪个不起作用。我收到一个错误:

ValueError: all the input array dimensions except for the concatenation axis must match exactly

另外,我不希望第一行为零。我是否必须在循环中使用if-else语句,或者有更多的pythonic方法来做到这一点?

1 个答案:

答案 0 :(得分:1)

尝试使用np.vstack代替np.stack

你的意图似乎是迭代地在ND数组的底部附加一个数组(顺便说一下,效率很低,看看你是否不能一次性生成整个数组)。在第一次迭代之后,myarray的形状将更改(假设您重新分配,代码未显示)到2个字母矩阵。 numpyp.stack州的文件

  

数组:array_like的序列      每个数组必须具有相同的形状

numpy.vstack限制性较小。