NumPy学习8
今天学习了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的更多相关文章
- NumPy学习笔记 三 股票价格
NumPy学习笔记 三 股票价格 <NumPy学习笔记>系列将记录学习NumPy过程中的动手笔记,前期的参考书是<Python数据分析基础教程 NumPy学习指南>第二版.&l ...
- NumPy学习笔记 二
NumPy学习笔记 二 <NumPy学习笔记>系列将记录学习NumPy过程中的动手笔记,前期的参考书是<Python数据分析基础教程 NumPy学习指南>第二版.<数学分 ...
- NumPy学习笔记 一
NumPy学习笔记 一 <NumPy学习笔记>系列将记录学习NumPy过程中的动手笔记,前期的参考书是<Python数据分析基础教程 NumPy学习指南>第二版.<数学分 ...
- 数据分析之Pandas和Numpy学习笔记(持续更新)<1>
pandas and numpy notebook 最近工作交接,整理电脑资料时看到了之前的基于Jupyter学习数据分析相关模块学习笔记.想着拿出来分享一下,可是Jupyter导出来h ...
- NumPy学习(索引和切片,合并,分割,copy与deep copy)
NumPy学习(索引和切片,合并,分割,copy与deep copy) 目录 索引和切片 合并 分割 copy与deep copy 索引和切片 通过索引和切片可以访问以及修改数组元素的值 一维数组 程 ...
- NumPy学习(让数据处理变简单)
NumPy学习(一) NumPy数组创建 NumPy数组属性 NumPy数学算术与算数运算 NumPy数组创建 NumPy 中定义的最重要的对象是称为 ndarray 的 N 维数组类型. 它描述相同 ...
- numpy 学习笔记
numpy 学习笔记 导入 numpy 包 import numpy as np 声明 ndarray 的几种方法 方法一,从list中创建 l = [[1,2,3], [4,5,6], [7,8,9 ...
- numpy 学习总结
numpy 学习总结 作者:csj更新时间:01.09 email:59888745@qq.com 说明:因内容较多,会不断更新 xxx学习总结: 回主目录:2017 年学习记录和总结 #生成数组/使 ...
- (转)Python数据分析之numpy学习
原文:https://www.cnblogs.com/nxld/p/6058572.html https://morvanzhou.github.io/tutorials/data-manipulat ...
- Numpy学习1
NumPy学习(1) 参考资料: http://www.cnblogs.com/zhanghaohong/p/4854858.html http://linusp.github.io/2016/02/ ...
随机推荐
- Qt编写的项目作品28-视频监控显示安卓版
一.功能特点 1.1 基础功能 支持各种音频视频文件格式,比如mp3.wav.mp4.asf.rm.rmvb.mkv等. 支持各种视频流格式,比如rtp.rtsp.rtmp.http等. 本地音视频文 ...
- UML之关联
关联指两个类之间的各种联系.UML使用各种单实线表示关联,这个单实线可以是直线(垂直的.水平的或者倾斜的).折线甚至曲线. 事实上,关联也是展示类的属性的另一外的一种形式.例如在下图中,我们通过一条实 ...
- 在Deepin系统上配置微软Windows远程桌面服务
. 前言 本文主要讲解如何在deepin系统上安装和配置Xrdp远程桌面. Xrdp是微软的远程桌面协议(Remote Desktop Protocol, RDP)的开源版本.在Linux系统上安装X ...
- 轻松玩转 JMeter 测试计划组件
轻松玩转 JMeter 测试计划组件 宝子们,今天咱就来唠唠 JMeter 里那个超重要的测试计划组件,它可是整个性能测试的 "指挥官",把各种测试元素安排得明明白白. 一.测试计 ...
- preparation
课程知识准备 HTML5基础教程 CSS3基础教程 JavaScript基础教程 HTML DOM基础教程 VUE3基础教程 Element Plus OpenLayers vue3-openlaye ...
- 编译树莓派Linux内核
1.建议边看视频边跟着教程走 https://www.bilibili.com/video/av91990721?zw 2.准备工作 下载官方提供的交叉编译工具链 git clone https:// ...
- 微服务实战系列(七)-网关springcloud gateway-copy
1. 场景描述 springcloud刚推出的时候用的是netflix全家桶,路由用的zuul,但是据说zull1.0在大数据量访问的时候存在较大性能问题,2.0就没集成到springcloud中了, ...
- 央国企“严选”!天翼云夺得IaaS+PaaS市场桂冠!
10月17日,赛迪顾问发布的<2024中国央国企云市场研究报告>显示,2023年,在中国央国企云"IaaS+PaaS"市场中,中国电信天翼云凭借行业云和全栈服务能力.渠 ...
- Java代码覆盖率工具之Jacoco
Java代码覆盖率工具之Jacoco JaCoCo(Java Code Coverage)是一款面向Java语言的开源代码覆盖率工具,以其小型化和轻量化著称.它能够提供代码在测试过程中的覆盖率信息,帮 ...
- Docker 持续集成部署+ELK日志相关等 完美实践
docker(ubuntu) 卸载docker # 卸载(如有) for pkg in docker.io docker-doc docker-compose docker-compose-v2 po ...