我在做什麼:生成一系列長的一維數組。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