在循环中得到数组的总值,python

时间:2013-08-02 16:03:24

标签: python numpy

我有一个从文本文件生成数组的循环。每次它通过循环我希望它将新数组添加到旧数组但我不知道如何做到这一点。例如:

loop=np.arange(1,50)
for arg in loop:
   str(arg)
   a=np.genfromtxt('dir/'+arg+'.txt').T[0]
total=a+a+a #I know this line is wrong

如何使总数成为数组循环中每个数据的总和。

2 个答案:

答案 0 :(得分:1)

从文本中获得的数组是否具有固定长度?如果是,读取第一个数组然后进行就地求和应该有效:

a = np.genfromtxt('dir1.txt').T[0]

loop=np.arange(2, 50)
for arg in loop:
    str(arg)
    a += np.genfromtxt('dir'+arg+'.txt').T[0]

如果你的数组有不同的长度,当numpy试图猜测如何进行添加时,可能会发生奇怪的问题。

答案 1 :(得分:1)

如果您只想添加在循环中读取时获得的数组,则无法在循环中每次添加数组总数:

loop=np.arange(1,50)
total = []
for arg in loop:
   str(arg)
   a=np.genfromtxt('dir/'+arg+'.txt').T[0]
   total+=a (or total.append(a))