NumPy 学习笔记(四)
NumPy 算术函数:
1、numpy.reciprocal(arr) 返回参数逐个元素的倒数
2、numpy.power(one, two) 将第一个输入数组中的元素作为底数,计算它与第二个输入数组中相应元素的幂,即 one^two
3、numpy.mod(x1, x2) 计算输入数组中相应元素的余数,函数 numpy.remainder(x1, x2) 也产生相同的结果
import numpy as np arr = np.array([[1., 2., 3.], [4., 5., 6.], [7., 8., 9.]])
print("reciprocal arr: ", np.reciprocal(arr))
print("power by 2: ", np.power(arr, 2))
print("mod by arr.T: ", np.mod(arr, arr.T))
print("remainder by arr.T: ", np.remainder(arr, arr.T))
NumPy 统计函数:
1、numpy.amax(a, axis=None, out=None, keepdims=<no value>, initial=<no value>)
和 numpy.max(a, axis=None, out=None, keepdims=<no value>, initial=<no value>)
用于计算数组中的元素沿指定轴的最大值,若未给定 axis 的值,则默认选出数组里最大的数
2、numpy.amin() 和 numpy.min() 的格式与上面一样,其返回最小值
3、numpy.ptp(a, axis=None, out=None, keepdims=<no value>) 计算数组中元素最大值与最小值的差
4、numpy.percentile(a, q, axis) a 表示一个数组对象,q 表示要计算的百分数(0-100),axis 是轴,返回大于等于 q% 个数的那个数
5、numpy.median(a, axis=None, out=None, overwrite_input=False, keepdims=False) 计算 a 的中位数
6、numpy.mean(a, axis=None, dtype=None, out=None, keepdims=<no value>) 返回数组中元素的算术平均值。
如果提供了轴,则沿其计算
7、numpy.average(a, axis=None, weights=None, returned=False) 根据 weights 中给出的各自的权重计算数组中元素的加权平均值,
returned=True 时则返回权重的和,当 weights.shape != a.shape 时必须指定轴
8、numpy.std(a, axis=None, dtype=None, out=None, ddof=0, keepdims=<no value>) 计算标准差
9、numpy.var(a, axis=None, dtype=None, out=None, ddof=0, keepdims=<no value>) 计算方差
import numpy as np arr = np.array([[1., 2., 3.], [4., 5., 6.], [7., 8., 9.]])
# numpy.amax(a, axis=None, out=None, keepdims=<no value>, initial=<no value>)
# numpy.amin(a, axis=None, out=None, keepdims=<no value>, initial=<no value>)
# numpy.max 和 numpy.min 的格式和上面一样
print("max: ", np.amax(arr, axis=1))
print("max: ", np.max(arr))
print("min: ", np.amin(arr))
print("min: ", np.min(arr, axis=1)) # numpy.ptp(a, axis=None, out=None, keepdims=<no value>) 计算数组中元素最大值与最小值的差(最大值 - 最小值)
print("ptp(arr, axis=0): ", np.ptp(arr, axis=0))
print("ptp(arr, axis=1): ", np.ptp(arr, axis=1))
print("ptp(arr): ", np.ptp(arr)) # numpy.percentile(a, q, axis) a 表示一个对象,q 表示要计算的百分数(0-100),axis 是轴
# 选出在数组 arr 里大于等于 50% 数的那个数
print("percentile(arr, 50): ", np.percentile(arr, 50)) # 5.0
# 按 1 轴选出大于等于 0% 的数的那个数,即最小值
# [1. 4. 7.]
print("percentile(arr, 0, axis=1): ", np.percentile(arr, 0, axis=1))
# 按 1 轴选出大于等于 100% 的数的那个数,即最大值
# [3. 6. 9.]
print("percentile(arr, 100, axis=1): ", np.percentile(arr, 100, axis=1))
# 若所求百分数不能刚好对应数组里的数,则会在前后两个数之间取平均值
print(np.percentile(np.array([1., 2., 3., 4., 5., 6.]), 50)) # 3.5
print(np.percentile(np.array([1., 2., 3., 4., 5., 6.]), 70)) # 4.5 # numpy.median(a, axis=None, out=None, overwrite_input=False, keepdims=False) 计算 a 的中位数
print("median(arr, axis=0): ", np.median(arr, axis=0)) # [4. 5. 6.]
print("median(arr, axis=1): ", np.median(arr, axis=1)) # [2. 5. 8.] # numpy.mean(a, axis=None, dtype=None, out=None, keepdims=<no value>)
# 返回数组中元素的算术平均值。 如果提供了轴,则沿其计算
print("mean(arr): ", np.mean(arr)) # 5.0
print("mean(arr, axis=1): ", np.mean(arr, axis=1)) # [2. 5. 8.] # numpy.average(a, axis=None, weights=None, returned=False)
# 根据 weights 中给出的各自的权重计算数组中元素的加权平均值
# returned=True 则返回权重的和
# 当 weights.shape != a.shape 时必须指定轴
print("average: ", np.average(arr, axis=1, weights=np.array([1, 2, 3]), returned=True)) # numpy.std(a, axis=None, dtype=None, out=None, ddof=0, keepdims=<no value>) 计算标准差
print("std(arr): ", np.std(arr)) # 2.581988897471611
print("std(arr, axis=1): ", np.std(arr, axis=1)) # [0.81649658 0.81649658 0.81649658] # numpy.var(a, axis=None, dtype=None, out=None, ddof=0, keepdims=<no value>) 计算方差
print("var(arr): ", np.var(arr)) # 6.666666666666667
print("var(arr, axis=0): ", np.var(arr, axis=0)) # [6. 6. 6.]
NumPy 学习笔记(四)的更多相关文章
- NumPy学习笔记 三 股票价格
NumPy学习笔记 三 股票价格 <NumPy学习笔记>系列将记录学习NumPy过程中的动手笔记,前期的参考书是<Python数据分析基础教程 NumPy学习指南>第二版.&l ...
- NumPy学习笔记 二
NumPy学习笔记 二 <NumPy学习笔记>系列将记录学习NumPy过程中的动手笔记,前期的参考书是<Python数据分析基础教程 NumPy学习指南>第二版.<数学分 ...
- NumPy学习笔记 一
NumPy学习笔记 一 <NumPy学习笔记>系列将记录学习NumPy过程中的动手笔记,前期的参考书是<Python数据分析基础教程 NumPy学习指南>第二版.<数学分 ...
- numpy 学习笔记
numpy 学习笔记 导入 numpy 包 import numpy as np 声明 ndarray 的几种方法 方法一,从list中创建 l = [[1,2,3], [4,5,6], [7,8,9 ...
- Numpy学习笔记(下篇)
目录 Numpy学习笔记(下篇) 一.Numpy数组的合并与分割操作 1.合并操作 2.分割操作 二.Numpy中的矩阵运算 1.Universal Function 2.矩阵运算 3.向量和矩阵运算 ...
- Numpy学习笔记(上篇)
目录 Numpy学习笔记(上篇) 一.Jupyter Notebook的基本使用 二.Jpuyter Notebook的魔法命令 1.%run 2.%timeit & %%timeit 3.% ...
- C#可扩展编程之MEF学习笔记(四):见证奇迹的时刻
前面三篇讲了MEF的基础和基本到导入导出方法,下面就是见证MEF真正魅力所在的时刻.如果没有看过前面的文章,请到我的博客首页查看. 前面我们都是在一个项目中写了一个类来测试的,但实际开发中,我们往往要 ...
- IOS学习笔记(四)之UITextField和UITextView控件学习
IOS学习笔记(四)之UITextField和UITextView控件学习(博客地址:http://blog.csdn.net/developer_jiangqq) Author:hmjiangqq ...
- java之jvm学习笔记四(安全管理器)
java之jvm学习笔记四(安全管理器) 前面已经简述了java的安全模型的两个组成部分(类装载器,class文件校验器),接下来学习的是java安全模型的另外一个重要组成部分安全管理器. 安全管理器 ...
- Learning ROS for Robotics Programming Second Edition学习笔记(四) indigo devices
中文译著已经出版,详情请参考:http://blog.csdn.net/ZhangRelay/article/category/6506865 Learning ROS for Robotics Pr ...
随机推荐
- Eclipse 工程配置与目录结构及各种文件夹(常用插件)
.classpath..project 是 Eclipse 工程所必须的文件. OpenExplorer: 该 jar 包的下载地址:samsonw/OpenExplorer 安装配置方法:eclip ...
- bzoj3262 陌上花开——CDQ分治
题目:https://www.lydsy.com/JudgeOnline/problem.php?id=3262 第一道CDQ分治题! 看博客:https://www.cnblogs.com/Narh ...
- linux下的C语言开发(静态库/动态库)
动态链接库不是Linux独有的特性,在windows下面也存在这样的特性.一般来说,windows下面的动态连接库是以*.dll作为结尾的,而linux下面的动态连接库是以*.so结尾的.和静态链接库 ...
- ODB(C++ ORM)用Mingw的完整编译过程
用mingw官方的GCC4.7.2编译libodb后,并用odb compiler对hello示例生成odb的"包裹"代码,编译链接总是不能通过,下面是编译example/hell ...
- bzoj 1651: [Usaco2006 Feb]Stall Reservations 专用牛棚【贪心+堆||差分】
这个题方法还挺多的,不过洛谷上要输出方案所以用堆最方便 先按起始时间从小到大排序. 我用的是greater重定义优先队列(小根堆).用pair存牛棚用完时间(first)和牛棚编号(second),每 ...
- 疫情控制 2012年NOIP全国联赛提高组(二分答案+贪心)
P1084 疫情控制 题目描述 H 国有 n 个城市,这 n 个城市用 n-1 条双向道路相互连通构成一棵树,1 号城市是首都,也是树中的根节点. H 国的首都爆发了一种危害性极高的传染病.当局为了控 ...
- [App Store Connect帮助]六、测试 Beta 版本(3.1)管理测试员:添加内部测试员
您可以添加至多 25 个内部测试员(您的 App Store Connect 用户)使用“TestFlight Beta 版测试”来测试您的 App.在您上传了至少一个构建版本之后,才可添加测试员. ...
- 略微讲讲最近的 webpack 该如何加快编译
首先假设 基础的环境是有 creat-react-app 所创建的 即所有基础的loader,插件的 cache 都已经缓存了 在这种情况下想加速,真是很难 不过,有一个插件是可以观察 各个模块所花的 ...
- SVN安装失败提示
svnserve: error while loading shared libraries: libaprutil-1.so.0: cannot open shared object file: 1 ...
- Linux下安装网络软件的步骤
Linux下安装网络软件的步骤(给linux初学者,linux大神请绕路) 首先下载你所需要的软件带有deb后缀的文件 然后切换到该文件的目录 切换到超级用户权限或者是(sudo) 使用sudo dp ...