python - 计算python中文本文件列的平均值

标签 python with-statement

我有一个包含 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)

关于python - 计算python中文本文件列的平均值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33345451/

相关文章:

python - openerp 中的嵌套 View

python - Pyopengl - 从 VBO 绘制的几条线但是索引颜色 VBO 不起作用

python - 为连续事件组创建连续事件 ID

python - 'with'语句在python中有什么作用?

python - 在 Python 2.4 中处理上下文类

将项目添加到 With...End With 时出现 excel 错误 91

python - 当页面响应时间过长时,urllib 请求失败

python - Python 中 TSP 的可扩展实现

Python 在文件关闭时捕获异常的正确方法

python - 如何在生成器中使用 python 上下文管理器