位置: 编程技术 - 正文

深入理解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的垃圾处理机制)

  • 税控盘是什么东西多少钱
  • 辞退补偿金按照什么工资算
  • 劳务报酬怎么申报记账凭证
  • 网上申报中月平均工资怎么计算
  • 未核定印花税
  • 维修企业主营项目有哪些
  • 小企业周转材料包括什么
  • 境外投资子公司审计报告人民币汇率
  • 以前年度损益调整影响哪个科目
  • 银行缴纳印花税贷款方面哪些可以减免
  • 购买理财产品是不是非法集资
  • 筹建期装修费用计入什么科目
  • 低价销售代替非正常损失避免转出进项税?
  • 外经证预缴税填不含税金额吗
  • 领购发票实名认证流程
  • 工会经费的计税依据怎么算
  • 餐饮装修费用计入什么科目
  • 实收资本的入账金额怎么算
  • 怎么看是不是专用发票
  • 固定资产减值账务处理怎么做
  • 残保金征收单位
  • 资产收购的特殊性税务处理方法
  • iphone6按键功能介绍
  • 后裔王者荣耀台词大全
  • 每月计提的工资包含社保吗
  • 装饰装修工程月薪多少
  • 实收资本没到位会计怎么处理
  • 差额征税的项目有哪些
  • 对数组描述正确的是
  • 基于php实现简单函数
  • 会计账簿的登记
  • 哪一个国家有大提顿国家公园
  • 生产型企业出口退税计算案例
  • python中如何获取列表中的元素
  • 什么叫呆账账户
  • java初学者教程
  • 织梦如何采集文章
  • 公司境外汇款该怎么处理
  • 银行进账单是外来原始凭证吗
  • 月中入职算一个月吗
  • sql server 2008登录服务器名称
  • sqlserver控制台
  • 融资购入的固定资产如何记账
  • 某企业2013年12月30日购入一台不需要安装的设备
  • 减免税额月底怎么结转
  • 报表的应付账款怎么算
  • 开办费怎么做帐
  • 异地学校
  • 非居民企业境内所得
  • 票据贴现的分录
  • 施工单位购买材料能直接进成本吗
  • 企业出现有利润的现象
  • 塑料制品厂设计
  • 原材料按实际成本核算与按计划成本核算相比
  • 其他流动资产
  • freebsd软件包存储库
  • 系统之家一键重装系统教程
  • ubuntu上安装qt
  • win7如何开启飞行模式
  • centos安装虚拟机教程
  • mcappins.exe - mcappins进程是什么文件 什么意思.
  • win10大更新2020
  • 五步轻松实现zTree的使用
  • div滚动条怎么设置
  • javascript中的3种继承实现方法
  • javascript折叠菜单
  • 设置cmd命令
  • nodejs实例教程
  • 对于不回微信的人,这样做,尽显高情商!
  • js实现时间
  • Android Toast设置弹窗大小
  • vue.js有什么用
  • shell脚本自动化
  • jQuery实现可以控制图片旋转角度效果(附demo源码下载)
  • 深入理解新发展理念,推进供给侧结构性改革
  • 工会的会费收入是什么意思
  • 东莞税务申报日期
  • 国家税务总局关于进一步优化营改增纳税服务工作的通知
  • 江苏省国税电子发票查询
  • 徐州市哪些区域封闭了
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设