1

我在做什么:生成一系列长的一维数组。

我想要做什么:追加/连接/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

有没有更优雅或蟒蛇式的方式来做到这一点?

4

2 回答 2

1

如果您提前知道的长度r,您可以执行以下操作:nnn

rarr = np.zeros((r_len, nnn)) # r_len rows, nnn columns
for i in range(nnn):
    rarr[:,i] = r_calc()
numpy.savetxt('test.csv', rarr, delimiter=',')

这会将数据向量直接放入 的行中rarr,从而节省您转换为数组和转置的时间。

于 2012-08-02T12:56:02.880 回答
0
rarr = np.concatenate([get_array(r) for r in xrange(nnn)])
np.savetxt('test.cvs', rarr.T, delimiter=',')
于 2012-08-02T13:14:03.153 回答