NumPy统计函数的实现方法

yipeiwu_com6年前Python基础

numpy.amin()和numpy.amax()

numpy.amin()用于计算数组中元素沿着指定轴的最小值。

numpy.amax()用于计算数组中元素沿着指定轴的最大值

a=np.array([1,3,6],[3,4,11],[6,1,4])
print(np.amin(a,1) #每行最小值
print(np.amin(a,0) #每列最小值
print(np.amax(a)  #所有元素中最大值
print(np.amax(a,1)) #j每行的最大值

结果:

[1 3 1]
[1 1 4]
11
[ 6 11  6]

numpy.ptp()

用来计算数组中元素的最大值与最小值的差(最大值-最小值)。

numpy.percentile()

表示百分比

numpy.percentile(a,q,axis)
  • a:输入数组

  • q:要计算的百分位数

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

对于一个数组,我们设置它的百分位数为20,则我们可以推算出在该数组排序中在百分之20上的值是多少,例如:

percentail百分数
a = np.array([[21, 60, 4], [10, 20, 1]])
print('数组a:')
print(a)

print('调用 percentile() 函数:')
 50% 的分位数,就是 a 里排序之后的中位数
print(np.percentile(a, 20))
 axis 为 0,在纵列上求
print(np.percentile(a, 20, axis=0))
 axis 为 1,在横行上求
print(np.percentile(a, 20, axis=1))
 保持维度不变
print(np.percentile(a, 20, axis=1, keepdims=True))

结果:

数组a:
[[21 60  4]
 [10 20  1]]
调用 percentile() 函数:
4.0
[12.2 28.   1.6]
[10.8  4.6]
[[10.8]
 [ 4.6]]

Process finished with exit code 0

标准差

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

其中mean((x-x.mean()) * * 2)是指每个样本与全体样本值的平均数之差,即方差,标准差就是方差的平方根。

其它统计函数

numpy.mediam()

用于计算数组a中元素的中位数

numpy.average()

将各数值乘以相应的权数,然后加总求和得到总体值,再除以总的单位数。即用来计算加权平均数

numpy.mean()

返回数组元素的算术平均值

以上就是本文的全部内容,希望对大家的学习有所帮助。

相关文章

用python 批量更改图像尺寸到统一大小的方法

如下所示: #提取目录下所有图片,更改尺寸后保存到另一目录 from PIL import Image import os.path import glob def convertj...

python中使用ctypes调用so传参设置遇到的问题及解决方法

问题 近日在做一组声纹聚类时,使用了另一团队同学开发的声纹距离算法。该算法对外提供的是一组so包,需要使用方自己去使用。在python中调用纯so包一般使用ctypes类库,用起来看起来...

python执行精确的小数计算方法

在进行浮点数计算时它们无法精确表达出所有的十进制小数位。 a = 4.1 b = 5.329 print(a+b) 9.428999999999998 这些误差实际上是底层CP...

Python中按键来获取指定的值

Python中按键来获取值,相对来说要容易些,毕竟只需要dict[key]就可以找到,但里面同样有个问题,如果其中的键不存在的话,会抛出异常,如果不用try...except...等异常...

Python 性能优化技巧总结

1.使用测量工具,量化性能才能改进性能,常用的timeit和memory_profiler,此外还有profile、cProfile、hotshot等,memory_profiler用了...