如何将数据从for循环存储到数组中?

时间:2019-02-11 22:16:16

标签: arrays python-2.7 numpy

在这里,我将数据导入为数组,然后使用函数对该数组进行操作

import numpy as np

n1 = an array of 999 numbers
mass1= an array of 999 numbers
x1= an array of 999 numbers
y1=an array of 999 numbers
z1=an array of 999 numbers
dt=.0001
npoints=len(n1)
xn=0
step=1

for timedt in xrange(0,npoints-1):
     step=step


     for l in xrange(0,npoints-1):
         xn=xn

         f=x1,y1,z1[xn]+x1,y1,z1[step]

     xn=xn+1
     step=step+1

     print f

但是,当我打印出f时,我只是得到了一个庞大的数字集列表

.....
-9.622302989262075e-07
0.00016890654402323984
2.261014843829707e-05
-0.00011706036947314393
-7.791712660429376e-05
1.0156155973842854e-05
0.00019244252361596046
-0.00019202953520118445
0.04082168851673397
-0.001675463103312094
-1.4584179607758451e-05
3.788355464183264
3.99516377369456e-05

但是我想使这些数字成为一个数组。另外,如果我在该循环之外打印f,则只会得到最后一个数字。     3.99516377369456e-05

但是我希望能够将所有它们作为数组打印到循环之外。

np.asarray

不起作用。

1 个答案:

答案 0 :(得分:1)

最简单的方法可能是:

f_array = []
for ...:
    ...
    for ...:
        f = ...
    f_array.append(f)

f_array = np.array(f_array)