在Python 3.4中的每个循环步骤中创建一个新的数据数组

时间:2015-09-23 10:12:05

标签: arrays numpy python-3.4

我正在使用Python 3.4编写脚本,我想更优雅地执行以下操作。 我在一个文件中有测量数据(2列,N行,N~1000)。为了计算平均值,方差等数量,我将数据读入:

data_1 = numpy.genfromtxt('measurement_1.out',delimiter='\t')
data_2 = numpy.genfromtxt('measurement_2.out',delimiter='\t')
...
data_20 = numpy.genfromtxt('measurement_20.out',delimiter='\t')

但是,我想循环执行此操作,可以输入要考虑的测量次数(在示例中:数字= 20)。到目前为止,我的想法是这样的:

for i in range(1,number+1):
 data_'{}'.format(i) = np.genfromtxt('measurement_{}.out'.format(i), delimiter='\t')

这显然不起作用。

换句话说,我的问题是:如何使用循环在每个步骤中创建一个新的数组data_i?

1 个答案:

答案 0 :(得分:0)

您可以将它们存储在dict中。如果您还想保留订单,可以使用collections.OrderedDict

from collections import OrderedDict
import numpy as np

def get_data(number):
   my_data = OrderedDict()
   for i in range(1, number+1):
       my_data['data_{}'.format(i)] = np.genfromtxt('measurement_{}.out'.format(i), delimiter='\t')
   return my_data