关于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调用cmd复制文件代码分享
Dec 27 Python
用Python遍历C盘dll文件的方法
May 06 Python
Python实现的选择排序算法示例
Nov 29 Python
Python3中的json模块使用详解
May 05 Python
Caffe均值文件mean.binaryproto转mean.npy的方法
Jul 09 Python
对django中foreignkey的简单使用详解
Jul 28 Python
python3.7 openpyxl 删除指定一列或者一行的代码
Oct 08 Python
Python GUI自动化实现绕过验证码登录
Jan 10 Python
python GUI库图形界面开发之PyQt5访问系统剪切板QClipboard类详细使用方法与实例
Feb 27 Python
简单的Python人脸识别系统
Jul 14 Python
浅析python中的del用法
Sep 02 Python
python opencv旋转图片的使用方法
Jun 04 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
第十四节 命名空间 [14]
2006/10/09 PHP
php集成套件服务器xampp安装使用教程(适合第一次玩PHP的新手)
2015/06/03 PHP
Avengerls vs KG BO3 第一场2.18
2021/03/10 DOTA
SWFObject Flash js调用类
2008/07/08 Javascript
JavaScript 继承详解(一)
2009/07/13 Javascript
jquery下json数组的操作实现代码
2010/08/09 Javascript
无闪烁更新网页内容JS实现
2013/12/19 Javascript
js的Boolean对象初始值示例
2014/03/04 Javascript
node.js中的buffer.fill方法使用说明
2014/12/14 Javascript
javascript 判断整数方法分享
2014/12/16 Javascript
javascript获取四位数字或者字母的随机数
2015/01/09 Javascript
jQuery实现的漂亮表单效果代码
2015/08/18 Javascript
JS实现适合于后台使用的动画折叠菜单效果
2015/09/21 Javascript
node.js微信公众平台开发教程
2016/03/04 Javascript
Angualrjs 表单验证的两种方式(失去焦点验证和点击提交验证)
2017/05/09 Javascript
js中json对象和字符串的理解及相互转化操作实现方法
2017/09/22 Javascript
Javascript刷新页面的实例
2017/09/23 Javascript
javascript原生封装一个淡入淡出效果的函数测试实例代码
2018/03/19 Javascript
4 种滚动吸顶实现方式的比较
2019/04/09 Javascript
antdesign-vue结合sortablejs实现两个table相互拖拽排序功能
2021/01/08 Vue.js
[02:30]辉夜杯主赛事第二日胜者组半决赛 CDEC.Y赛后采访
2015/12/26 DOTA
Python标准库与第三方库详解
2014/07/22 Python
Python字符串切片操作知识详解
2016/03/28 Python
Python自定义装饰器原理与用法实例分析
2018/07/16 Python
pandas dataframe添加表格框线输出的方法
2019/02/08 Python
在django中实现页面倒数几秒后自动跳转的例子
2019/08/16 Python
我看到了用指针调用函数的不同语法形式
2014/07/16 面试题
反对邪教标语
2014/06/30 职场文书
影视广告专业求职信
2014/09/02 职场文书
2014小学教师个人工作总结
2014/11/10 职场文书
骨干教师考核评语
2014/12/31 职场文书
化妆品促销活动总结
2015/05/07 职场文书
教育教学工作反思
2016/02/24 职场文书
浅谈Python响应式类库RxPy
2021/06/14 Python
python周期任务调度工具Schedule使用详解
2021/11/23 Python
小程序自定义轮播图圆点组件
2022/06/25 Javascript