我正在使用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?
答案 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