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()

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

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

相关文章

在Pandas中DataFrame数据合并,连接(concat,merge,join)的实例

最近在工作中,遇到了数据合并、连接的问题,故整理如下,供需要者参考~ 一、concat:沿着一条轴,将多个对象堆叠到一起 concat方法相当于数据库中的全连接(union all),它...

详解python 发送邮件实例代码

python 发送邮件实例 文件形式的邮件 #!/usr/bin/env python3 #coding: utf-8 import smtplib from emailmim...

Python实现基于SVM的分类器的方法

本文代码来之《数据分析与挖掘实战》,在此基础上补充完善了一下~ 代码是基于SVM的分类器Python实现,原文章节题目和code关系不大,或者说给出已处理好数据的方法缺失、源是图像数据更...

Windows下Python使用Pandas模块操作Excel文件的教程

Windows下Python使用Pandas模块操作Excel文件的教程

安装Python环境 ANACONDA是一个Python的发行版本,包含了400多个Python最常用的库,其中就包括了数据分析中需要经常使用到的Numpy和Pandas等。更重要的是,...

python中实现将多个print输出合成一个数组

比如有下面一段代码: for i in range(10): print ("%s" % (f_list[i].name)) 该代码段的执行,会生成如下的10行“name”属性...