在Python中,我想要创建一个n-by-100
矩阵,其中n
的值在开始时未知。这种创建涉及在矩阵中连续添加一行。我已经尝试了这种代码是:将行附加到NumPy数组
x = numpy.zeros(100)
while true:
y = loadrow(); # Load a 1-by-100 NumPy array for the new row
x = numpy.append(x, y, 0)
然而,有三个问题与上面,这我有困难解决:
线
x = numpy.zeros(100)
初始化的矩阵的行100个零。但是,我希望第一行成为我加载的第一行。如何创建一个空矩阵,只有在追加第一行时才会给出数据?该行
x = numpy.append(x, y, 0)
不会向矩阵x
添加另一行。相反,它只是在第一行的末尾添加y
,以创建更长的行。但如果我尝试x = numpy.append(x, y, 1)
,这样我追加到轴1,那么我得到的错误:TypeError: Required argument 'object' (pos 1) not found
。当我连续追加这样的行时,似乎我一直在制作原始数组的副本,而随着数组的增长,效率会很低。当我不知道最终数组的大小是什么时,有没有其他方法可以做到这一点?
谢谢!
请参阅我的回答类似的问题[这里](http://stackoverflow.com/questions/35818395/add-a-column-在-A-numpy的阵列-蟒/ 35828879#35828879)。 – bunji
考虑使用列表,并在循环后,将其转换为numpy数组。 – Evert