我在做什么:生成一系列长的一维数组。Python/numpy追加数组,转置并保存为csv
我想要做什么: append/concatentate/vstack /?这些转换为二维数组,然后将行保存为csv文件中的列。
以下的作品,但它不是优雅:
rlist=[] # create empty list
for i in range(nnn) # nnn is typically 2000
(calculate an array "r")
rlist.append(r) # append f.p. array to rlist
rarr = array(rlist) # turn it back into array so I can transpose
numpy.savetxt('test.csv',rarr.T,delimiter=',') # save rows as columns in csv file
是否有一个更优雅或pythonesque办法做到这一点?
你为什么说这不优雅?当然,你可以使用'numpy.vstack'和一个转置 - 但最后,它将是相同数量的代码行,你可能会在循环的每一次迭代中增长相同的数组(这可能是效率低下),或者等到最后把它们堆叠在一起(这就是你现在正在做的)。我没有看到太大的区别... – mgilson 2012-08-02 12:24:36