我有一个13列10000行的文本文件。我应该计算第二列和第五列的平均值和标准差,但每200个数字一次。 代码:
with open('myfile.txt') as f:
lis1 = [float(line.split()[1]) for line in f]
lis2 = [float(line.split()[4]) for line in f]
i = 0
while (i < len(lis1)):
g1 = sum(lis1[i:i+200])/200
g2 = sum(lis2[i:i+200])/200
i=i+200
我不明白为什么g2是空的,如何修复它?在
如果可能的话,你应该只读一遍你的文件。否则,必须重置文件指针以再次读取。注意:代码未经测试。在
这是因为当您创建列表“lis1”时,您遍历了整个文件,这意味着您应该重置它。尝试在lis1和lis2调用之间使用
f.seek(0)
。在相关问题 更多 >
编程相关推荐