Python 2.7中是否有统计模块(例如人口标准偏差)?
我找到了Python3的这个链接,并且发现使用它非常有用....
https://docs.python.org/3/library/statistics.html
我确实找到了可能产生标准偏差的scipy和numpy stats模块,但这始终位于数组的轴上。我想要的是能够计算标准差,例如,通过传递数字而不必依靠自己输入正确的数学方程式。
例如,在python 3中看起来我可以这样做:
pstdev([1.5, 2.5, 2.5, 2.75, 3.25, 4.75])
0.986893273527251
好的,所以我意识到你可以比我想象的更多。例如,使用a
数组,我可以这样做:
numpy.std(a[0,1:9])
但是,我想要做的是将numpy数组中的不同部分作为输入(不只是一个切片)。
因此,例如,在第0行,我想取数字1到8,在第2行,我想要数字1:3。所以我想知道如何从不同的位置获取这些不同的切片然后放入函数中。我可以以某种方式将两个或多个切片组合成一个表达式,并将其用作numpy.std函数所需的类数组输入吗?
答案 0 :(得分:5)
不是内置的,但 NumPy 非常受欢迎。
这里有什么可用于stddev:
使用示例:
>>> import numpy
>>> a=numpy.array([1.5, 2.5, 2.5, 2.75, 3.25, 4.75])
>>> numpy.std(a)
0.98689327352725098
后续问题仍然不是很清楚,但这是你正在寻找的吗?
>>> b=numpy.array([[1.5, 2.5, 2.5, 2.75, 3.25, 4.75], [10,20,30,40,50,60]])
>>> b
array([[ 1.5 , 2.5 , 2.5 , 2.75, 3.25, 4.75],
[ 10. , 20. , 30. , 40. , 50. , 60. ]])
>>> c = b[0][:4]
>>> c
array([ 1.5 , 2.5 , 2.5 , 2.75])
>>> d = b[1][2:5]
>>> d
array([ 30., 40., 50.])
>>> e = numpy.append(c, d)
>>> e
array([ 1.5 , 2.5 , 2.5 , 2.75, 30. , 40. , 50. ])
>>> numpy.std(e)
19.404725387052988
答案 1 :(得分:0)