当前位置:首页>编程日记>正文

科学计算工具NumPy(3):ndarray的元素处理

科学计算工具NumPy(1):ndarray的创建于数据类型

科学计算工具NumPy(2):ndarray的矩阵处理

科学计算工具NumPy(3):ndarray的元素处理

元素计算函数

  1. ceil(): 向上最接近的整数,参数是 number 或 array

  2. floor(): 向下最接近的整数,参数是 number 或 array

  3. rint(): 四舍五入,参数是 number 或 array
  4. isnan(): 判断元素是否为 NaN(Not a Number),参数是 number 或 array
  5. multiply(): 元素相乘,参数是 number 或 array
  6. divide(): 元素相除,参数是 number 或 array
  7. abs():元素的绝对值,参数是 number 或 array
  8. where(condition, x, y): 三元运算符,x if condition else y
# randn() 返回具有标准正态分布的序列。
arr = np.random.randn(2,3)print(arr)print(np.ceil(arr))print(np.floor(arr))print(np.rint(arr))print(np.isnan(arr))print(np.multiply(arr, arr))print(np.divide(arr, arr))print(np.where(arr > 0, 1, -1))

运行结果:

# print(arr)
[[-0.75803752  0.0314314   1.15323032][ 1.17567832  0.43641395  0.26288021]]# print(np.ceil(arr))
[[-0.  1.  2.][ 2.  1.  1.]]# print(np.floor(arr))
[[-1.  0.  1.][ 1.  0.  0.]]# print(np.rint(arr))
[[-1.  0.  1.][ 1.  0.  0.]]# print(np.isnan(arr))
[[False False False][False False False]]# print(np.multiply(arr, arr))
[[  5.16284053e+00   1.77170104e+00   3.04027254e-02][  5.11465231e-03   3.46109263e+00   1.37512421e-02]]# print(np.divide(arr, arr))
[[ 1.  1.  1.][ 1.  1.  1.]]# print(np.where(arr > 0, 1, -1))
[[ 1  1 -1][-1  1  1]]

元素统计函数

  1. np.mean()np.sum():所有元素的平均值,所有元素的和,参数是 number 或 array

  2. np.max()np.min():所有元素的最大值,所有元素的最小值,参数是 number 或 array

  3. np.std()np.var():所有元素的标准差,所有元素的方差,参数是 number 或 array
  4. np.argmax()np.argmin():最大值的下标索引值,最小值的下标索引值,参数是 number 或 array
  5. np.cumsum()np.cumprod():返回一个一维数组,每个元素都是之前所有元素的 累加和 和 累乘积,参数是 number 或 array
  6. 多维数组默认统计全部维度,axis参数可以按指定轴心统计,值为0则按列统计,值为1则按行统计。
arr = np.arange(12).reshape(3,4)
print(arr)print(np.cumsum(arr)) # 返回一个一维数组,每个元素都是之前所有元素的 累加和print(np.sum(arr)) # 所有元素的和print(np.sum(arr, axis=0)) # 数组的按列统计和print(np.sum(arr, axis=1)) # 数组的按行统计和

运行结果:

# print(arr)
[[ 0  1  2  3][ 4  5  6  7][ 8  9 10 11]]# print(np.cumsum(arr)) 
[ 0  1  3  6 10 15 21 28 36 45 55 66]# print(np.sum(arr)) # 所有元素的和
66# print(np.sum(arr, axis=0)) # 0表示对数组的每一列的统计和
[12 15 18 21]# print(np.sum(arr, axis=1)) # 1表示数组的每一行的统计和
[ 6 22 38]

元素判断函数

  1. np.any(): 至少有一个元素满足指定条件,返回True
  2. np.all(): 所有的元素满足指定条件,返回True
arr = np.random.randn(2,3)
print(arr)print(np.any(arr > 0))
print(np.all(arr > 0))

运行结果:

[[ 0.05075769 -1.31919688 -1.80636984][-1.29317016 -1.3336612  -0.19316432]]True
False

元素去重排序函数

np.unique():找到唯一值并返回排序结果,类似于Python的set集合

arr = np.array([[1, 2, 1], [2, 3, 4]])
print(arr)print(np.unique(arr))

运行结果:

[[1 2 1][2 3 4]][1 2 3 4]

 


http://www.coolblog.cn/news/d85deb26193a546c.html

相关文章:

  • asp多表查询并显示_SpringBoot系列(五):SpringBoot整合Mybatis实现多表关联查询
  • s7day2学习记录
  • 【求锤得锤的故事】Redis锁从面试连环炮聊到神仙打架。
  • 矿Spring入门Demo
  • 拼音怎么写_老师:不会写的字用圈代替,看到孩子试卷,网友:人才
  • Linux 实时流量监测(iptraf中文图解)
  • Win10 + Python + GPU版MXNet + VS2015 + RTools + R配置
  • 美颜
  • shell访问php文件夹,Shell获取某目录下所有文件夹的名称
  • 如何优雅的实现 Spring Boot 接口参数加密解密?
  • LeCun亲授的深度学习入门课:从飞行器的发明到卷积神经网络
  • Mac原生Terminal快速登录ssh
  • java受保护的数据与_Javascript类定义语法,私有成员、受保护成员、静态成员等介绍...
  • mysql commit 机制_1024MySQL事物提交机制
  • 支撑微博千亿调用的轻量级RPC框架:Motan
  • jquery 使用小技巧
  • 2019-9
  • 法拉利虚拟学院2010 服务器,法拉利虚拟学院2010
  • vscode pylint 错误_将实际未错误的py库添加到pylint白名单
  • 科学计算工具NumPy(3):ndarray的元素处理
  • 工程师在工作电脑存 64G 不雅文件,被公司开除后索赔 41 万,结果…
  • linux批量创建用户和密码
  • newinsets用法java_Java XYPlot.setInsets方法代碼示例
  • js常用阻止冒泡事件
  • 气泡图在开源监控工具中的应用效果
  • 各类型土地利用图例_划重点!国土空间总体规划——土地利用
  • php 启动服务器监听
  • dubbo简单示例
  • 【设计模式】 模式PK:策略模式VS状态模式
  • [iptables]Redhat 7.2下使用iptables实现NAT
  • Ubuntu13.10:[3]如何开启SSH SERVER服务
  • CSS小技巧——CSS滚动条美化
  • JS实现-页面数据无限加载
  • 阿里巴巴分布式服务框架 Dubbo
  • 最新DOS大全
  • Django View(视图系统)
  • 阿里大鱼.net core 发送短信
  • 程序员入错行怎么办?
  • 两张超级大表join优化
  • 第九天函数
  • HDU 5988 最小费用流
  • Linux软件安装-----apache安装
  • 《看透springmvc源码分析与实践》读书笔记一
  • Sorenson Capital:值得投资的 5 种 AI 技术
  • 正式开课!如何学习相机模型与标定?(单目+双目+鱼眼+深度相机)
  • Arm芯片的新革命在缓缓上演
  • nagios自写插件—check_file
  • python3 错误 Max retries exceeded with url 解决方法
  • 通过Spark进行ALS离线和Stream实时推荐
  • 行为模式之Template Method模式