关于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操作json数据的一个简单例子
Apr 17 Python
进一步探究Python的装饰器的运用
May 05 Python
python使用matplotlib绘图时图例显示问题的解决
Apr 27 Python
python使用openpyxl库修改excel表格数据方法
May 03 Python
Tensorflow卷积神经网络实例进阶
May 24 Python
Python设计模式之装饰模式实例详解
Jan 21 Python
python selenium登录豆瓣网过程解析
Aug 10 Python
django+tornado实现实时查看远程日志的方法
Aug 12 Python
python-OpenCV 实现将数组转换成灰度图和彩图
Jan 09 Python
基于Tensorflow批量数据的输入实现方式
Feb 05 Python
浅谈python元素如何去重,去重后如何保持原来元素的顺序不变
Feb 28 Python
Python手动或自动协程操作方法解析
Jun 22 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 调试环境(IIS+PHP+MYSQL)
2007/01/10 PHP
php后退一页表单内容保存实现方法
2012/06/17 PHP
php设计模式之委托模式
2016/02/13 PHP
Thinkphp5结合layer弹窗定制操作结果页面
2017/07/07 PHP
jQuery中filter(),not(),split()使用方法
2010/07/06 Javascript
详解JavaScript对W3C DOM模版的支持情况
2015/06/16 Javascript
Jquery数字上下滚动动态切换插件
2015/08/08 Javascript
jQuery实现向下滑出的二级菜单效果实例
2015/08/22 Javascript
jQuery实现返回顶部功能
2016/02/23 Javascript
VUEJS实战之构建基础并渲染出列表(1)
2016/06/13 Javascript
jQuery仿写百度百科的目录树
2017/01/03 Javascript
Vue + Webpack + Vue-loader学习教程之相关配置篇
2017/03/14 Javascript
关于页面刷新vuex数据消失问题解决方案
2017/07/03 Javascript
JavaScript时间戳与时间日期间相互转换
2017/12/11 Javascript
react 中父组件与子组件双向绑定问题
2019/05/20 Javascript
vue+element加入签名效果(移动端可用)
2019/06/17 Javascript
javascript设计模式 ? 中介者模式原理与用法实例分析
2020/04/20 Javascript
解决vue侦听器watch,调用this时出现undefined的问题
2020/10/30 Javascript
Python对文件操作知识汇总
2016/05/15 Python
python实现斐波那契数列的方法示例
2017/01/12 Python
Python在Matplotlib图中显示中文字体的操作方法
2019/07/29 Python
Django中使用极验Geetest滑动验证码过程解析
2019/07/31 Python
py-charm延长试用期限实例
2019/12/22 Python
Python reduce函数作用及实例解析
2020/05/08 Python
Python3+RIDE+RobotFramework自动化测试框架搭建过程详解
2020/09/23 Python
中国一家专注拼团的社交购物网站:拼多多
2018/06/13 全球购物
淘宝活动策划方案
2014/02/06 职场文书
巡警年度自我鉴定
2014/02/21 职场文书
信息技术毕业生自荐信范文
2014/03/13 职场文书
2014国庆节幼儿园亲子活动方案
2014/09/16 职场文书
2015年机关党委工作总结
2015/05/23 职场文书
《初涉尘世》读后感3篇
2020/01/10 职场文书
HTML中的表单元素介绍
2022/02/28 HTML / CSS
vue数据字典取键值项目的字典问题
2022/04/12 Vue.js
Java数据结构之堆(优先队列)
2022/05/20 Java/Android
GO中sync包自由控制并发示例详解
2022/08/05 Golang