Python2.7有没有统计模块?

2024-05-13 16:49:47 发布

您现在位置:Python中文网/ 问答频道 /正文

Python2.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函数所需的类似数组的输入?


Tags: 模块函数httpsorgnumpydocs链接library
2条回答

你可以用scipy/numpy

另外,hear是python的统计包列表,其中有简短的描述

https://wiki.python.org/moin/NumericAndScientific

不是内置的,但是非常流行。

以下是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

相关问题 更多 >