关于numpy数组轴的使用详解


Posted in Python onDecember 05, 2019

概述

按照图一中aixs=0,对aixs=0上下对应的数据进行相加在学习numpy的时候,最难理解的就是轴的概念,我们知道坐标系中有轴的概念,那么两个轴是否有关联呢?为了便于理解,特写此博客进行梳理。

正文

首先数组的维数比较好理解,下面我们创建一个数组:

import numpy as np
# 创建一个三维数组
b=np.arange(24).reshape(4,3,2)

打印结果:

[[[ 0 1]
 [ 2 3]
 [ 4 5]]
 
 [[ 6 7]
 [ 8 9]
 [10 11]]
 
 [[12 13]
 [14 15]
 [16 17]]

b 是一个三维数组:

第一维有三个元素

第二维有三个元素

第三维有四个元素

上面的数据也可以用下列方式展示(图一)

关于numpy数组轴的使用详解

对于下面按照aixs=0进行sum:

print(b.sum(0))

按照图一中aixs=0,对aixs=0上下对应的数据进行相加,数据从(4,3,2)降维到(3,2)

[[0+ 6+12+18=36  1+ 7+13+19=40]
 [2+ 8+14+20=44  3+ 9+15+21=48]
 [4+10+16+22=52  5+11+17+23=56]]

对于下面按照aixs=1进行sum:

print(b.sum(1))

按照图一中aixs=1,按照比1小的轴对数据进行划分(即aixs=0),然后对划分的每一部分中数据中的aixs=1上下对应的数据进行相加,数据从(4,3,2)降维到(4,2)

[[ 0+ 2+ 4=6  1+ 3+ 5=9]
 [ 6+ 8+10=24 7+ 9+11=27]
 [12+14+16=42 13+15+17=45]
 [18+20+22=60 19+21+23+63]]

对于下面按照aixs=2进行sum:

print(b.sum(2))

按照图一中aixs=2,按照比2小的轴对数据进行划分(即aixs=0,aixs=1),然后对划分的每一部分中数据中的aixs=2上下对应的数据进行相加,数据从(4,3,2)降维到(4,3)

[[ 0+ 1=1  2+ 3=5  4+ 5=9]
 [ 6+ 7=13 8+ 9=17 10+11=21]
 [12+13=25 14+15=29 16+17=33]
 [18+19=37 20+21=41 22+23=45]]

总结:

aixs的范围是0到数组的维数(不包括维数)

轴的划分是按照维数进行

相加时按照轴进行对象相加,但是不能跨越比当前轴低的轴

以上这篇关于numpy数组轴的使用详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python实现的jpg格式图片修复代码
Apr 21 Python
python 写的一个爬虫程序源码
Feb 28 Python
Saltstack快速入门简单汇总
Mar 01 Python
使用Python生成XML的方法实例
Mar 21 Python
Python单元测试实例详解
May 25 Python
python创建文件备份的脚本
Sep 11 Python
python 读取修改pcap包的例子
Jul 23 Python
如何把python项目部署到linux服务器
Aug 26 Python
python中字典增加和删除使用方法
Sep 30 Python
史上最详细的Python打包成exe文件教程
Jan 17 Python
解决numpy数组互换两行及赋值的问题
Apr 17 Python
关于Numpy之repeat、tile的用法总结
Jun 02 Python
python 字典访问的三种方法小结
Dec 05 #Python
python 实现dict转json并保存文件
Dec 05 #Python
numpy 声明空数组详解
Dec 05 #Python
Numpy将二维数组添加到空数组的实现
Dec 05 #Python
numpy.ndarray 实现对特定行或列取值
Dec 05 #Python
numpy ndarray 取出满足特定条件的某些行实例
Dec 05 #Python
使用 Supervisor 监控 Python3 进程方式
Dec 05 #Python
You might like
php.ini修改php上传文件大小限制的方法详解
2013/06/17 PHP
php外部执行命令函数用法小结
2016/10/11 PHP
JS+PHP实现用户输入数字后显示最大的值及所在位置
2017/06/19 PHP
关于ThinkPhp 框架表单验证及ajax验证问题
2017/07/19 PHP
PHP实现的DES加密解密类定义与用法示例
2020/11/02 PHP
Thinkphp5框架实现获取数据库数据到视图的方法
2019/08/14 PHP
(推荐一个超好的JS函数库)S.Sams Lifexperience ScriptClassLib
2007/04/29 Javascript
使用UglifyJS合并/压缩JavaScript的方法
2012/03/07 Javascript
Extjs4 GridPanel 的几种样式使用介绍
2013/04/18 Javascript
浅谈Javascript 执行顺序
2013/12/18 Javascript
jquery实现美观的导航菜单鼠标提示特效代码
2015/09/06 Javascript
JS使用cookie实现DIV提示框只显示一次的方法
2015/11/05 Javascript
第四章之BootStrap表单与图片
2016/04/25 Javascript
原生js实现新闻列表展开/收起全文功能
2017/01/20 Javascript
js+canvas实现动态吃豆人效果
2017/03/22 Javascript
浅谈关于angularJs中使用$.ajax的注意点
2017/08/12 Javascript
基于js中style.width与offsetWidth的区别(详解)
2017/11/12 Javascript
30分钟快速实现小程序语音识别功能
2018/11/27 Javascript
[00:28]DOTA2北京网鱼队选拔赛
2015/04/08 DOTA
Python中按值来获取指定的键
2019/03/04 Python
Python实现多态、协议和鸭子类型的代码详解
2019/05/05 Python
解决Pycharm后台indexing导致不能run的问题
2019/06/27 Python
python生成13位或16位时间戳以及反向解析时间戳的实例
2020/03/03 Python
css3的transition属性详解
2014/12/15 HTML / CSS
H5 video poster属性设置视频封面的方法
2020/05/25 HTML / CSS
AmazeUI 网格的实现示例
2020/08/13 HTML / CSS
美体小铺奥地利官方网站:The Body Shop奥地利
2019/04/11 全球购物
几个常见的消息中间件(MOM)
2014/01/08 面试题
大学生个人自我鉴定
2013/12/03 职场文书
幼儿教师寄语集锦
2014/04/03 职场文书
分公司经理任命书
2014/06/05 职场文书
计算机多媒体专业自荐信
2014/07/04 职场文书
2015年党建工作总结
2015/03/30 职场文书
Python入门之基础语法详解
2021/05/11 Python
利用python进行数据加载
2021/06/20 Python
浅谈css清除浮动(clearfix和clear)的用法
2023/05/21 HTML / CSS