【发布时间】:2012-08-02 12:17:51
【问题描述】:
我在做什么:生成一系列长的一维数组。
我想做什么: 追加/连接/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
有没有更优雅或蟒蛇式的方式来做到这一点?
【问题讨论】:
-
为什么说这不优雅?当然,您可以使用
numpy.vstack和转置——但最终,它将是相同数量的代码行,并且您将在循环的每次迭代中增长相同的数组(很可能是效率低下)或等到最后将它们堆叠在一起(这就是您现在正在做的事情)。我看不出有什么不同...
标签: python arrays list numpy transpose