0

我有一个从文本文件生成数组的循环。每次它通过循环时,我都希望它将新数组添加到旧数组中,但我不确定如何执行此操作。例如:

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

我如何让 total 成为数组循环中每个 a 的总数。

4

2 回答 2

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 尝试猜测如何进行添加时,可能会出现奇怪的问题。

于 2013-08-02T16:09:03.443 回答
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))
于 2013-08-02T16:21:09.597 回答