数据是按照如上的排列的。现在要求第三列数据的平均值:
with open('result/result_top_20.txt') as f: result_data = f.readlines() list1 = [] for eachline in result_data: a = eachline.strip().split() percision = a[2:3] list1.extend(percision) list1 = list(map(float,list1)) # str转为float sum_percision = sum(list1) num_percision = len(list1) mean_percision = sum_percision / num_percision print(mean_percision)
a[2:3] 即为第二列数据,extend()函数功能是 列表读入每一个数据以后都是用逗号隔开的,即为['0.001','0.021']这样的形式,如果用append()函数,列表中数据的形式是这样的:[[0.001],[0.021]]。
list1 = list(map(float,list1))这个转换比较重要,可以把读入的数据类型从str转为需要的类型 float/int等,然后可以进行求和操作。