位置: 编程技术 - 正文

深入理解NumPy简明教程---数组3(组合)(numpy使用心得)

编辑:rootadmin

推荐整理分享深入理解NumPy简明教程---数组3(组合)(numpy使用心得),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:numpy基础操作,深入理解python,numpy基础教程,numpy详解,numpy详解,numpy基础操作,numpy详解,numpy详解,内容如对您有帮助,希望把文章链接给更多的朋友!

前两篇文章对NumPy数组做了基本的介绍,本篇文章对NumPy数组进行较深入的探讨。首先介绍自定义类型的数组,接着数组的组合,最后介绍数组复制方面的问题。

自定义结构数组

通过NumPy也可以定义像C语言那样的结构类型。在NumPy中定义结构的方法如下:

定义结构类型名称;定义字段名称,标明字段数据类型。

这里student是自定义结构类型的名称,使用dtype函数创建,在第一个参数中,'names'和'formats'不能改变,names中列出的是结构中字段名称,formats中列出的是对应字段的数据类型。S表示字节长度的字符串,i表示位的整数,f表示位长度的浮点数。最后一个参数为True时,表示要求进行内存对齐。

字段中使用NumPy的字符编码来表示数据类型。更详细的数据类型见下表。

数据类型 字符编码 整数 i 无符号整数 u 单精度浮点数 f 双精度浮点数 d 布尔值 b 复数 D 字符串 S Unicode U Void V

在定义好结构类型之后,就可以定义以该类型为元素的数组了:

除了在每个元素中依次列出对应字段的数据外,还需要在array函数中最后一个参数指定其所对应的数据类型。

注:例子来源于张若愚的Python科学计算艺术的页。更多关于dtype的内容请参考《NumPy for Beginner》一书的第二章。

组合函数

这里介绍以不同的方式组合函数。首先创建两个数组:

水平组合

也可通过concatenate函数并指定相应的轴来获得这一效果:

垂直组合

同样,可通过concatenate函数,并指定相应的轴来获得这一效果。

深度组合

另外,还有深度方面的组合函数dstack。顾名思义,就是在数组的第三个轴(即深度)上组合。如下:

仔细观察,发现对应的元素都组合成一个新的列表,该列表作为新的数组的元素。

行组合

深入理解NumPy简明教程---数组3(组合)(numpy使用心得)

行组合可将多个一维数组作为新数组的每一行进行组合:

对于2维数组,其作用就像垂直组合一样。

列组合

列组合的效果应该很清楚了。如下:

对于2维数组,其作用就像水平组合一样。

分割数组

在NumPy中,分割数组的函数有hsplit、vsplit、dsplit和split。可将数组分割成相同大小的子数组,或指定原数组分割的位置。

水平分割

也调用split函数并指定轴为1来获得这样的效果:

垂直分割

垂直分割是沿着垂直的轴切分数组:

同样,也可通过solit函数并指定轴为1来获得这样的效果:

面向深度的分割

dsplit函数使用的是面向深度的分割方式:

复制和镜像(View)

当运算和处理数组时,它们的数据有时被拷贝到新的数组有时不是。这通常是新手的困惑之源。这有三种情况:

完全不复制

简单的赋值,而不复制数组对象或它们的数据。

视图(view)和浅复制

不同的数组对象分享同一个数据。视图方法创造一个新的数组对象指向同一数据。

切片数组返回它的一个视图:

深复制

这个复制方法完全复制数组和它的数据。

标签: numpy使用心得

本文链接地址:https://www.jiuchutong.com/biancheng/382458.html 转载请保留说明!

上一篇:深入理解NumPy简明教程---数组2(numpy入门)

下一篇:浅谈Python的垃圾回收机制(python的垃圾处理机制)

  • 增值税认证发票平台可以导出发票明细吗?
  • 增值税纳税期限1日是什么意思
  • 个体工商户怎么申请开普票
  • 什么情况下一般纳税人可以简易征收
  • 个人独资企业需要监事吗
  • 无法支付其他应付款说明
  • 代发工资记什么科目
  • 私人口腔诊所会感染艾滋病吗
  • 资产减值损失属于什么科目借方增加还是减少
  • 出口无法收汇怎么办
  • 出口退税业务提醒信息包括哪些
  • 多交附加税怎么做会计分录
  • 应付职工薪酬如何填列
  • 大家怎么看恒大品牌
  • 免抵退分录怎么做
  • 多计提的固定资产折旧
  • 营业外支出税前可以扣除吗
  • 2020退税时间超过了怎么办
  • 期末留抵税额转出怎么报税
  • 资产处置损益的明细科目有哪些
  • 预收房款属于什么科目
  • 个人储蓄存款利率
  • 给研发人员福利怎么做账
  • 企业增资还需要增资账户么
  • 开具红字发票后又开了蓝字发票 怎么入账
  • 生产成本可以结转到其他业务成本吗
  • 制造费用明细科目有哪些
  • win10禁用安全杀毒功能
  • 如何彻底清洁
  • 开发企业房产税如何征收
  • 公司出租房屋租金由承租方本人支付
  • 城建税申报表怎么作废
  • 收到政府补助如何开具发票
  • 增值税的计税依据包括契税吗
  • vue前端页面设计
  • 合伙企业分配股票给合伙人
  • php实现分页显示
  • php获取文件后缀名的方法
  • 期末余额和年初余额为什么不一样
  • 计提的福利费怎么处理
  • 亏损企业所得税怎么交
  • 短信php源码
  • 利润分配的顺序依次是什么
  • 材料暂估入账
  • 融资租入固定资产的账务处理
  • 快递怎么做账单
  • 个税APP怎么填报扣税最少
  • java中的常量是什么意思
  • 已冲销凭证是否可以删除
  • sql server怎么恢复
  • sqlserver数据库大小于对索引有影响吗?
  • 资本公积溢价转增
  • 长期股权投资股利确认时间点
  • 小规模应交增值税怎么算出来的
  • 应付职工薪酬应该在借方还是贷方
  • 旅游饮食服务企业财务会计制度
  • MySQL execute、executeUpdate、executeQuery三者的区别
  • Mac OS10.11下mysql5.7.12 安装配置方法图文教程
  • 安装mysql提示one or more
  • centos配置网络地址
  • win7资源管理器频繁崩溃
  • linux怎么安装sh
  • win7打开回收站
  • linux常用命令touch
  • scrollWidth,clientWidth与offsetWidth的区别
  • unity游戏开发的技术路线有哪些
  • opengl视角跟随鼠标方向移动
  • 很好的资源学习入口_android
  • 安卓手机管家推荐
  • javascript基础题目
  • Python连接MySQL并使用fetchall()方法过滤特殊字符
  • vim合并两个文件
  • jquery fullpage
  • js跨域的几种方法
  • js性能优化方法
  • 欢迎使用微信支付
  • python框架flask系列
  • 打印格式不对怎么设置A4
  • 请问一般纳税人的业务协调税率是多少
  • 建筑公司报销流程
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设