今天学习了NumPy统计函数

16,NumPy统计函数
numpy_test8.py :
import numpy as np

'''
16,NumPy统计函数 NumPy 提供了许多统计功能的函数,比如查找数组元素的最值、百分位数、方差以及标准差等。
'''
'''
1) numpy.amin() 和 numpy.amax()
这两个函数用于计算数组沿指定轴的最小值与最大值:
amin() 沿指定的轴,查找数组中元素的最小值,并以数组形式返回;
amax() 沿指定的轴,查找数组中元素的最大值,并以数组形式返回。 对于二维数组来说,axis=1 表示沿着水平方向,axis=0 表示沿着垂直方向。
'''
print("----16,NumPy统计函数----")
print("----1) numpy.amin() 和 numpy.amax()----")
arr1 = np.array([[3, 7, 5], [8, 4, 3], [2, 4, 9]])
print('arr1 : ', arr1)
# numpy.amin() 最小值
print('np.amin(arr1) : ', np.amin(arr1))
# numpy.amin() 最小值,axis=1 表示沿着水平方向
print('np.amin(arr1, 1) : ', np.amin(arr1, 1))
# numpy.amax() 最大值
print('np.amax(arr1) : ', np.amax(arr1))
# numpy.amax() 最大值, axis=0 表示沿着垂直方向
print('np.amax(arr1 ,axis=0) : ', np.amax(arr1, axis=0))
'''
arr1 : [[3 7 5]
[8 4 3]
[2 4 9]]
np.amin(arr1) : 2
np.amin(arr1, 1) : [3 3 2]
np.amax(arr1) : 9
np.amax(arr1 ,axis=0) : [8 7 9]
''' '''
2) numpy.ptp()
numpy.ptp() 用于计算数组元素中最值之差值,也就是(最大值 - 最小值)。
对于二维数组来说,axis=1 表示沿着水平方向,axis=0 表示沿着垂直方向。
'''
print("----2) numpy.ptp()----")
print('arr1 : ', arr1)
print("沿着axis 1,最值之差值:",np.ptp(arr1, 1))
print("沿着axis 0,最值之差值:",np.ptp(arr1, 0))
'''
arr1 : [[3 7 5]
[8 4 3]
[2 4 9]]
沿着axis 1,最值之差值: [4 5 7]
沿着axis 0,最值之差值: [6 3 6]
''' '''
3) numpy.percentile()
百分位数,是统计学中使用的一种度量单位。该函数表示沿指定轴,计算数组中任意百分比分位数,语法格式如下:
numpy.percentile(a, q, axis) 函数 numpy.percentile() 的参数说明:
a:输入数组;
q:要计算的百分位数,在 0~100 之间;
介于0-100的float,用来计算是几分位的参数,如四分之一位就是25,如要算两个位置的数就(25,75)
axis:沿着指定的轴计算百分位数。
对于二维数组来说,axis=1 表示沿着水平方向,axis=0 表示沿着垂直方向。
'''
print("----3) numpy.percentile()----")
print('arr1 : ', arr1)
print("沿着axis=0计算百分位数", np.percentile(arr1, 10, 0))
print("沿着axis=1计算百分位数", np.percentile(arr1, 10, 1))
'''
arr1 : [[3 7 5]
[8 4 3]
[2 4 9]]
沿着axis=0计算百分位数 [2.2 4. 3.4]
沿着axis=1计算百分位数 [3.4 3.2 2.4]
''' '''
4) numpy.median()
numpy.median() 用于计算 a 数组元素的中位数(中值):
对于二维数组来说,axis=1 表示沿着水平方向,axis=0 表示沿着垂直方向。
'''
print("----4) numpy.median()----")
print('arr1 : ', arr1)
# np.median() 数组元素的中位数
print("np.median(arr1): ", np.median(arr1))
# np.median() 数组元素的中位数 ,axis 0: 垂直方向
print("np.median(arr1, axis=0): ", np.median(arr1, axis=0))
# np.median() 数组元素的中位数 ,axis 1: 水平方向
print("np.median(arr1, axis=1): ", np.median(arr1, axis=1))
'''
arr1 : [[3 7 5]
[8 4 3]
[2 4 9]]
np.median(arr1): 4.0
np.median(arr1, axis=0): [3. 4. 5.]
np.median(arr1, axis=1): [5. 4. 4.]
''' '''
5) numpy.mean()
该函数表示沿指定的轴,计算数组中元素的算术平均值(即元素之总和除以元素数量)。
对于二维数组来说,axis=1 表示沿着水平方向,axis=0 表示沿着垂直方向。
'''
print("----5) numpy.mean()----")
print('arr1 : ', arr1)
print("np.mean(arr1): ", np.mean(arr1))
print ('沿轴 0 水平方向,调用 mean() 函数:')
print("np.mean(arr1, axis=0): ", np.mean(arr1, axis=0))
print ('沿轴 1 垂直方向,调用 mean() 函数:')
print("np.mean(arr1, axis=1): ", np.mean(arr1, axis=1))
'''
arr1 : [[3 7 5]
[8 4 3]
[2 4 9]]
np.mean(arr1): 5.0
沿轴 0 水平方向,调用 mean() 函数:
np.mean(arr1, axis=0): [4.33333333 5. 5.66666667]
沿轴 1 垂直方向,调用 mean() 函数:
np.mean(arr1, axis=1): [5. 5. 5.]
''' '''
6) numpy.average()
加权平均值是将数组中各数值乘以相应的权数,然后再对权重值求总和,最后以权重的总和除以总的单位数(即因子个数)。 numpy.average() 根据在数组中给出的权重,计算数组元素的加权平均值。
该函数可以接受一个轴参数 axis,如果未指定,则数组被展开为一维数组。
对于二维数组来说,axis=1 表示沿着水平方向,axis=0 表示沿着垂直方向。
'''
print("----6) numpy.average()----")
arr2 = np.array([1, 4, 7, 9])
print('arr2 : ', arr2)
# average()函数:
print("np.average(arr2): ", np.average(arr2))
# 若不指定权重相当于对数组求均值
weight = np.array([7, 5, 3, 1])
# 调用 average() 函数:
print("np.average(arr2, weights=weight): ", np.average(arr2, weights=weight))
# returned=Ture,则返回权重的和
print("np.average(arr2, weights=weight, returned=True): ", np.average(arr2, weights=weight, returned=True))
'''
arr2 : [1 4 7 9]
np.average(arr2): 5.25
np.average(arr2, weights=weight): 3.5625
np.average(arr2, weights=weight, returned=True): (3.5625, 16.0)
'''
# 在多维数组中,您也可以指定 axis 轴参数。
print("----在多维数组中,您也可以指定 axis 轴参数。----")
arr3 = np.arange(6).reshape(3, 2)
print('arr3 : ', arr3)
# 指定权重
wt = np.array([3, 5])
print("np.average(arr3, axis=1, weights=wt): ", np.average(arr3, axis=1, weights=wt))
# returned=Ture,则返回权重的和
print("np.average(arr3, axis=1, weights=wt, returned=True): ", np.average(arr3, axis=1, weights=wt, returned=True))
'''
arr3 : [[0 1]
[2 3]
[4 5]]
np.average(arr3, axis=1, weights=wt): [0.625 2.625 4.625]
np.average(arr3, axis=1, weights=wt, returned=True): (array([0.625, 2.625, 4.625]), array([8., 8., 8.]))
''' '''
7) numpy.var() 方差
方差,在统计学中也称样本方差,如何求得方差呢?首先我们要知道全体样本的的平均值,
然后再求得每个样本值与均值之差的平方和,最后对差的平方和求均值,公式如下(其中 n 代表元素个数):
'''
print("----7) numpy.var() 方差----")
print('np.var([1, 2, 3, 4]) : ', np.var([1, 2, 3, 4]))
'''
np.var([1, 2, 3, 4]) : 1.25
''' '''
8) numpy.std() 标准差
标准差是方差的算术平方根,用来描述一组数据平均值的分散程度。若一组数据的标准差较大,
说明大部分的数值和其平均值之间差异较大;若标准差较小,则代表这组数值比较接近平均值。它的公式如下:
std = sqrt(mean((x - x.mean())**2
'''
print("----8) numpy.std() 标准差----")
print('np.std([1, 2, 3, 4]) : ', np.std([1, 2, 3, 4]))
'''
np.std([1, 2, 3, 4]) : 1.118033988749895
'''

  



NumPy学习8的更多相关文章

  1. NumPy学习笔记 三 股票价格

    NumPy学习笔记 三 股票价格 <NumPy学习笔记>系列将记录学习NumPy过程中的动手笔记,前期的参考书是<Python数据分析基础教程 NumPy学习指南>第二版.&l ...

  2. NumPy学习笔记 二

    NumPy学习笔记 二 <NumPy学习笔记>系列将记录学习NumPy过程中的动手笔记,前期的参考书是<Python数据分析基础教程 NumPy学习指南>第二版.<数学分 ...

  3. NumPy学习笔记 一

    NumPy学习笔记 一 <NumPy学习笔记>系列将记录学习NumPy过程中的动手笔记,前期的参考书是<Python数据分析基础教程 NumPy学习指南>第二版.<数学分 ...

  4. 数据分析之Pandas和Numpy学习笔记(持续更新)<1>

    pandas and numpy notebook        最近工作交接,整理电脑资料时看到了之前的基于Jupyter学习数据分析相关模块学习笔记.想着拿出来分享一下,可是Jupyter导出来h ...

  5. NumPy学习(索引和切片,合并,分割,copy与deep copy)

    NumPy学习(索引和切片,合并,分割,copy与deep copy) 目录 索引和切片 合并 分割 copy与deep copy 索引和切片 通过索引和切片可以访问以及修改数组元素的值 一维数组 程 ...

  6. NumPy学习(让数据处理变简单)

    NumPy学习(一) NumPy数组创建 NumPy数组属性 NumPy数学算术与算数运算 NumPy数组创建 NumPy 中定义的最重要的对象是称为 ndarray 的 N 维数组类型. 它描述相同 ...

  7. numpy 学习笔记

    numpy 学习笔记 导入 numpy 包 import numpy as np 声明 ndarray 的几种方法 方法一,从list中创建 l = [[1,2,3], [4,5,6], [7,8,9 ...

  8. numpy 学习总结

    numpy 学习总结 作者:csj更新时间:01.09 email:59888745@qq.com 说明:因内容较多,会不断更新 xxx学习总结: 回主目录:2017 年学习记录和总结 #生成数组/使 ...

  9. (转)Python数据分析之numpy学习

    原文:https://www.cnblogs.com/nxld/p/6058572.html https://morvanzhou.github.io/tutorials/data-manipulat ...

  10. Numpy学习1

    NumPy学习(1) 参考资料: http://www.cnblogs.com/zhanghaohong/p/4854858.html http://linusp.github.io/2016/02/ ...

随机推荐

  1. Qt编写的项目作品28-视频监控显示安卓版

    一.功能特点 1.1 基础功能 支持各种音频视频文件格式,比如mp3.wav.mp4.asf.rm.rmvb.mkv等. 支持各种视频流格式,比如rtp.rtsp.rtmp.http等. 本地音视频文 ...

  2. UML之关联

    关联指两个类之间的各种联系.UML使用各种单实线表示关联,这个单实线可以是直线(垂直的.水平的或者倾斜的).折线甚至曲线. 事实上,关联也是展示类的属性的另一外的一种形式.例如在下图中,我们通过一条实 ...

  3. 在Deepin系统上配置微软Windows远程桌面服务

    . 前言 本文主要讲解如何在deepin系统上安装和配置Xrdp远程桌面. Xrdp是微软的远程桌面协议(Remote Desktop Protocol, RDP)的开源版本.在Linux系统上安装X ...

  4. 轻松玩转 JMeter 测试计划组件

    轻松玩转 JMeter 测试计划组件 宝子们,今天咱就来唠唠 JMeter 里那个超重要的测试计划组件,它可是整个性能测试的 "指挥官",把各种测试元素安排得明明白白. 一.测试计 ...

  5. preparation

    课程知识准备 HTML5基础教程 CSS3基础教程 JavaScript基础教程 HTML DOM基础教程 VUE3基础教程 Element Plus OpenLayers vue3-openlaye ...

  6. 编译树莓派Linux内核

    1.建议边看视频边跟着教程走 https://www.bilibili.com/video/av91990721?zw 2.准备工作 下载官方提供的交叉编译工具链 git clone https:// ...

  7. 微服务实战系列(七)-网关springcloud gateway-copy

    1. 场景描述 springcloud刚推出的时候用的是netflix全家桶,路由用的zuul,但是据说zull1.0在大数据量访问的时候存在较大性能问题,2.0就没集成到springcloud中了, ...

  8. 央国企“严选”!天翼云夺得IaaS+PaaS市场桂冠!

    10月17日,赛迪顾问发布的<2024中国央国企云市场研究报告>显示,2023年,在中国央国企云"IaaS+PaaS"市场中,中国电信天翼云凭借行业云和全栈服务能力.渠 ...

  9. Java代码覆盖率工具之Jacoco

    Java代码覆盖率工具之Jacoco JaCoCo(Java Code Coverage)是一款面向Java语言的开源代码覆盖率工具,以其小型化和轻量化著称.它能够提供代码在测试过程中的覆盖率信息,帮 ...

  10. Docker 持续集成部署+ELK日志相关等 完美实践

    docker(ubuntu) 卸载docker # 卸载(如有) for pkg in docker.io docker-doc docker-compose docker-compose-v2 po ...