python中统计函数_NumPy统计函数

NumPy - 统计函数

NumPy 有很多有用的统计函数,用于从数组中给定的元素中查找最小,最大,百分标准差和方差等。 函数说明如下:

numpy.amin() 和 numpy.amax()

这些函数从给定数组中的元素沿指定轴返回最小值和最大值。

示例import numpy as np

a = np.array([[3,7,5],[8,4,3],[2,4,9]])

print '我们的数组是:'

print a

print '\n'

print '调用 amin() 函数:'

print np.amin(a,1)

print '\n'

print '再次调用 amin() 函数:'

print np.amin(a,0)

print '\n'

print '调用 amax() 函数:'

print np.amax(a)

print '\n'

print '再次调用 amax() 函数:'

print np.amax(a, axis = 0)

输出如下:

我们的数组是:

[[3 7 5]

[8 4 3]

[2 4 9]]

调用 amin() 函数:

[3 3 2]

再次调用 amin() 函数:

[2 4 3]

调用 amax() 函数:

9

再次调用 amax() 函数:

[8 7 9]

numpy.ptp()

numpy.ptp()函数返回沿轴的值的范围(最大值 - 最小值)。

import numpy as np

a = np.array([[3,7,5],[8,4,3],[2,4,9]])

print '我们的数组是:'

print a

print '\n'

print '调用 ptp() 函数:'

print np.ptp(a)

print '\n'

print '沿轴 1 调用 ptp() 函数:'

print np.ptp(a, axis = 1)

print '\n'

print '沿轴 0 调用 ptp() 函数:'

print np.ptp(a, axis = 0)

输出如下:

我们的数组是:

[[3 7 5]

[8 4 3]

[2 4 9]]

调用 ptp() 函数:

7

沿轴 1 调用 ptp() 函数:

[4 5 7]

沿轴 0 调用 ptp() 函数:

[6 3 6]

numpy.percentile()

百分位数是统计中使用的度量,表示小于这个值得观察值占某个百分比。 函数numpy.percentile()接受以下参数。

numpy.percentile(a, q, axis)

其中:

序号

参数及描述

1.

a 输入数组

2.

q 要计算的百分位数,在 0 ~ 100 之间

3.

axis 沿着它计算百分位数的轴

示例import numpy as np

a = np.array([[30,40,70],[80,20,10],[50,90,60]])

print '我们的数组是:'

print a

print '\n'

print '调用 percentile() 函数:'

print np.percentile(a,50)

print '\n'

print '沿轴 1 调用 percentile() 函数:'

print np.percentile(a,50, axis = 1)

print '\n'

print '沿轴 0 调用 percentile() 函数:'

print np.percentile(a,50, axis = 0)

输出如下:

我们的数组是:

[[30 40 70]

[80 20 10]

[50 90 60]]

调用 percentile() 函数:

50.0

沿轴 1 调用 percentile() 函数:

[ 40. 20. 60.]

沿轴 0 调用 percentile() 函数:

[ 50. 40. 60.]

numpy.median()

中值定义为将数据样本的上半部分与下半部分分开的值。 numpy.median()函数的用法如下面的程序所示。

示例import numpy as np

a = np.array([[30,65,70],[80,95,10],[50,90,60]])

print '我们的数组是:'

print a

print '\n'

print '调用 median() 函数:'

print np.median(a)

print '\n'

print '沿轴 0 调用 median() 函数:'

print np.median(a, axis = 0)

print '\n'

print '沿轴 1 调用 median() 函数:'

print np.median(a, axis = 1)

输出如下:

我们的数组是:

[[30 65 70]

[80 95 10]

[50 90 60]]

调用 median() 函数:

65.0

沿轴 0 调用 median() 函数:

[ 50. 90. 60.]

沿轴 1 调用 median() 函数:

[ 65. 80. 60.]

numpy.mean()

算术平均值是沿轴的元素的总和除以元素的数量。 numpy.mean()函数返回数组中元素的算术平均值。 如果提供了轴,则沿其计算。

示例import numpy as np

a = np.array([[1,2,3],[3,4,5],[4,5,6]])

print '我们的数组是:'

print a

print '\n'

print '调用 mean() 函数:'

print np.mean(a)

print '\n'

print '沿轴 0 调用 mean() 函数:'

print np.mean(a, axis = 0)

print '\n'

print '沿轴 1 调用 mean() 函数:'

print np.mean(a, axis = 1)

输出如下:

我们的数组是:

[[1 2 3]

[3 4 5]

[4 5 6]]

调用 mean() 函数:

3.66666666667

沿轴 0 调用 mean() 函数:

[ 2.66666667 3.66666667 4.66666667]

沿轴 1 调用 mean() 函数:

[ 2. 4. 5.]

numpy.average()

加权平均值是由每个分量乘以反映其重要性的因子得到的平均值。 numpy.average()函数根据在另一个数组中给出的各自的权重计算数组中元素的加权平均值。 该函数可以接受一个轴参数。 如果没有指定轴,则数组会被展开。

考虑数组[1,2,3,4]和相应的权重[4,3,2,1],通过将相应元素的乘积相加,并将和除以权重的和,来计算加权平均值。

加权平均值 = (1*4+2*3+3*2+4*1)/(4+3+2+1)

示例import numpy as np

a = np.array([1,2,3,4])

print '我们的数组是:'

print a

print '\n'

print '调用 average() 函数:'

print np.average(a)

print '\n'

# 不指定权重时相当于 mean 函数

wts = np.array([4,3,2,1])

print '再次调用 average() 函数:'

print np.average(a,weights = wts)

print '\n'

# 如果 returned 参数设为 true,则返回权重的和

print '权重的和:'

print np.average([1,2,3, 4],weights = [4,3,2,1], returned = True)

输出如下:

我们的数组是:

[1 2 3 4]

调用 average() 函数:

2.5

再次调用 average() 函数:

2.0

权重的和:

(2.0, 10.0)

在多维数组中,可以指定用于计算的轴。

示例import numpy as np

a = np.arange(6).reshape(3,2)

print '我们的数组是:'

print a

print '\n'

print '修改后的数组:'

wt = np.array([3,5])

print np.average(a, axis = 1, weights = wt)

print '\n'

print '修改后的数组:'

print np.average(a, axis = 1, weights = wt, returned = True)

输出如下:

我们的数组是:

[[0 1]

[2 3]

[4 5]]

修改后的数组:

[ 0.625 2.625 4.625]

修改后的数组:

(array([ 0.625, 2.625, 4.625]), array([ 8., 8., 8.]))

标准差

标准差是与均值的偏差的平方的平均值的平方根。 标准差公式如下:

std = sqrt(mean((x - x.mean())**2))

如果数组是[1,2,3,4],则其平均值为2.5。 因此,差的平方是[2.25,0.25,0.25,2.25],并且其平均值的平方根除以4,即sqrt(5/4)是1.1180339887498949。

示例import numpy as np

print np.std([1,2,3,4])

输出如下:

1.1180339887498949

方差

方差是偏差的平方的平均值,即mean((x - x.mean())** 2)。 换句话说,标准差是方差的平方根。

示例import numpy as np

print np.var([1,2,3,4])

输出如下:

1.25

¥ 我要打赏

纠错/补充

收藏

加QQ群啦,易百教程官方技术学习群

注意:建议每个人选自己的技术方向加群,同一个QQ最多限加 3 个群。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值