如何在python中逐行创建数据数组

如何在python中逐行创建数据数组,python,arrays,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 co

我想用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语句,或者是否有更具python风格的方法来实现这一点?

尝试
np.vstack
而不是
np.stack

您的意图似乎是迭代地在ND数组的底部追加一个数组(顺便说一句,这是低效的,看看您能否一次性生成整个数组)。在第一次迭代之后,您的
myarray
的形状将更改为2 by something矩阵(假设您重新分配了,代码没有显示)。
numpyp.stack
状态的文档

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


numpy.vstack
的限制性较小。

可能的副本请显示准确的代码。该错误暗示您正在堆叠大小不等的数组,因此您关于
进行某些计算(索引)
“返回长度为n的数组”的陈述似乎不正确。是的,它的长度不同。。。但一般来说如何做到这一点?如果有一个额外的if?那么零的第一行呢?如果你不能使初始化更像一次尝试,那么在循环之后重新建立索引怎么样?像这样:
myarray=myarray[1:,:]
?如果是我,我会考虑推广你的
做一些计算
,但如果没有你的实际代码(或它的最小版本),没有人能猜到。@Alex,那么你的问题回答了吗?如果是,请在答案中添加复选标记,将问题标记为已解决。这对其他人也意味着你的问题已经解决了。