请原谅我的愚蠢问题,因为我是python的新手。
我有20个不同的.txt文件(例如,"myfile_%s"
的{{1}}被归为范围为1.21的整数)。因此,我将它们加载如下:
s
因此,它们被加载到“ float64”类型的变量中。 我想将它们加载到20个不同的列表中(以便找到每个列表的最大值)。
提前谢谢!
PS:我很高兴听到有关python初学者的任何教科书建议。
答案 0 :(得分:1)
您可以使用定界符拆分并加载到本机python列表中:
my_files = []
for i in range(1,21):
with open("my_file_{0}.txt".format(i), 'r') as f:
my_files.append(f.read().split(','))
现在您有了一个列表列表。您可以获取整体的最大值,也可以获取每个列表的最大值,如下所示:
# max of each
max_values = [max(map(float,my_list)) for my_list in my_files]
# max overall
max_overall = max(max_values)
答案 1 :(得分:0)
您的列表长度相等吗?如果是,则可以在一个numpy数组中完成所有操作:
a = np.zeros((100,20))
for i in range(1,21):
a[i-1,:]=np.loadtxt("myfile_%s.txt" %i, delimiter=',', unpack=True)
现在,您可以对结果数组执行所有numpy
功能,例如
b = np.sum(a,axis=0)