关于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 相关文章推荐
Fabric 应用案例
Aug 28 Python
Django卸载之后重新安装的方法
Mar 15 Python
使用 Python 实现简单的 switch/case 语句的方法
Sep 17 Python
对Python random模块打乱数组顺序的实例讲解
Nov 08 Python
Python字符串的常见操作实例小结
Apr 08 Python
在python中用url_for构造URL的方法
Jul 25 Python
django创建简单的页面响应实例教程
Sep 06 Python
Python使用Tkinter实现滚动抽奖器效果
Jan 06 Python
python ImageDraw类实现几何图形的绘制与文字的绘制
Feb 26 Python
django列表筛选功能的实现代码
Mar 27 Python
Python csv文件记录流程代码解析
Jul 16 Python
浅谈Selenium+Webdriver 常用的元素定位方式
Jan 13 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代码
2006/12/06 PHP
php扩展ZF――Validate扩展
2008/01/10 PHP
MySQL修改密码方法总结
2008/03/25 PHP
PHP图像处理之imagecreate、imagedestroy函数介绍
2014/11/19 PHP
基于laravel where的高级使用方法
2019/10/10 PHP
TextArea 控件的最大长度问题(js json)
2009/12/16 Javascript
浅析document.createDocumentFragment()与js效率
2013/07/08 Javascript
jQuery表单获取和失去焦点输入框提示效果的实例代码
2013/08/01 Javascript
jquery实现保存已选用户
2014/07/21 Javascript
javascript中HTMLDOM操作详解
2014/12/11 Javascript
JavaScript中的fontsize()方法使用详解
2015/06/08 Javascript
深入理解JavaScript的React框架的原理
2015/07/02 Javascript
深入探讨前端框架react
2015/12/09 Javascript
QRCode.js:基于JQuery的生成二维码JS库的使用
2017/06/23 jQuery
js实现mp3录音通过websocket实时传送+简易波形图效果
2020/06/12 Javascript
javascript实现时钟动画
2020/12/03 Javascript
python实现系统状态监测和故障转移实例方法
2013/11/18 Python
从零学Python之入门(二)基本数据类型
2014/05/25 Python
TensorFlow如何实现反向传播
2018/02/06 Python
python语音识别实践之百度语音API
2018/08/30 Python
Python3模拟curl发送post请求操作示例
2019/05/03 Python
解决Django加载静态资源失败的问题
2019/07/28 Python
django 实现celery动态设置周期任务执行时间
2019/11/19 Python
Pytorch之Variable的用法
2019/12/31 Python
python实现Oracle查询分组的方法示例
2020/04/30 Python
详解HTML5 canvas绘图基本使用方法
2018/01/29 HTML / CSS
波兰在线香水店:Perfumy.pl
2019/08/12 全球购物
英国排名第一的停车场运营商:NCP
2019/08/26 全球购物
Richards网上商店:当代时尚,遍布巴西
2019/11/03 全球购物
Ibatis如何调用存储过程
2015/05/15 面试题
儿子婚宴答谢词
2014/01/09 职场文书
黄河的主人教学反思
2014/02/07 职场文书
教师学习八项规定六项禁令思想汇报
2014/09/27 职场文书
优秀班主任推荐材料
2014/12/17 职场文书
教师正风肃纪心得体会
2016/01/15 职场文书
netty 实现tomcat的示例代码
2022/06/05 Servers