Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/338.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 大型csv文件的平均值_Python_Average_Standard Deviation - Fatal编程技术网

Python 大型csv文件的平均值

Python 大型csv文件的平均值,python,average,standard-deviation,Python,Average,Standard Deviation,假设我有如下数据: time value 1 1 2 2 3 3 4 4 到了20000,我怎么才能得到这些数据的平均值和stdev 1 import sys 2 import os 3 import string 4 import csv 5 import math 6 average = [] 7 filename = 'pei1.rg' 8 fin1 = open(filename,"rb") 9 li

假设我有如下数据:

time value
 1    1
 2    2
 3    3
 4    4
到了20000,我怎么才能得到这些数据的平均值和stdev

1    import sys
2    import os
3    import string
4    import csv
5    import math
6    average = []
7    filename = 'pei1.rg'
8    fin1 = open(filename,"rb")
9    line1 = fin1.readline()
10   line1 = fin1.readline()
11   while line1:
12       line1 = map(string.strip,line1.strip().split())
13       average.append(float(line1[1]))
14       line1 = fin1.readline()
15   #print float(average)/float(count)
16   print "Number of steps: ", len(average)
17   print "Average over entire trajectory: ", float(sum(average))/float(len(average))
18   second = int(len(average)/2)
19   print "Average over second half: ", float(sum(average[second:]))/float(second)
20   sys.exit()

我认为这可以用来计算平均值,但我不知道如何从这里得到stdv

在Python3中,您可以使用该模块,但首先需要将数据中的值排列成一个序列。您的数据来自CSV文件,因此打开该文件,读取行,并将值转换为浮点:

import statistics

with open('input.csv') as f:
    _ = next(f)    # skip the header line
    values = [float(line.split()[1]) for line in f]
    print('Average: {:.3f}'.format(statistics.mean(values)))
    print('Stdev: {:.3f}'.format(statistics.stdev(values)))
输出

使用样本数据中的4个值:

Average: 2.500 Stdev: 1.291 平均:2.500 科技开发署:1.291
看起来您正在使用Python 2。Python2的Python3统计模块有一个后端口,上面的代码将在不作更改的情况下运行。有关信息,请参阅,并使用
pip

安装。您尝试了什么?请发布您目前拥有的代码。如果您还没有尝试过,我建议您阅读本网站的问题指南。StackOverflow不是一个代码编写服务。我试图发布代码,但它一直告诉我错误代码,我将尝试再次发布。对不起,这是我试过的代码:编辑问题,而不是在评论中。你现在能查一下吗?我认为这是更好的格式谢谢,我正在尝试这一点,非常新的编程,所以我正在制定一些怪癖它工作!谢谢,它比我的代码简单得多。很高兴听到。你可能想考虑投票,甚至接受这个答案。做了,做了,但它说,我的投票不会计数,直到我已经获得15的声誉。希望能有所帮助。再次感谢!