在没有 Python 包的情况下计算标准偏差?

whu*_*319 2 statistics standard-deviation python-3.x opencsv

我想弄清楚如何创建一个脚本来计算文件的标准偏差。例如,假设我 DLed 一个带有值列表的 csv。我想通过运行 python 程序来找到这些值的 SD。我们这里没有使用 numpy!

duc*_*thd 6

如果您允许使用标准库,

import math

xs = [0.5,0.7,0.3,0.2]     # values (must be floats!)
mean = sum(xs) / len(xs)   # mean
var  = sum(pow(x-mean,2) for x in xs) / len(xs)  # variance
std  = math.sqrt(var)  # standard deviation
Run Code Online (Sandbox Code Playgroud)

如果没有,您需要sqrt手动近似。例如,您可以使用二分搜索或牛顿法。这是一个维基百科页面,了解这样做的方法


Vla*_*den 5

Python 3.4及以上版本有一个名为statistics的包,它具有标准差(pstdev)和其他功能

以下是如何使用它的示例:

import statistics

data = [1, 1, 2.5, 6.5, 7.3, 8, 9.2]

print(statistics.pstdev(data))
# 3.2159043543498815
Run Code Online (Sandbox Code Playgroud)