关于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 图片验证码代码分享
Jul 04 Python
简单介绍Python下自己编写web框架的一些要点
Apr 29 Python
在Python中操作字符串之replace()方法的使用
May 19 Python
详解Python中的array数组模块相关使用
Jul 05 Python
Python标准库inspect的具体使用方法
Dec 06 Python
Python类的继承和多态代码详解
Dec 27 Python
Python爬虫包BeautifulSoup简介与安装(一)
Jun 17 Python
python实现对象列表根据某个属性排序的方法详解
Jun 11 Python
以SQLite和PySqlite为例来学习Python DB API
Feb 05 Python
python应用Axes3D绘图(批量梯度下降算法)
Mar 25 Python
Python实现GIF图倒放
Jul 16 Python
Python爬虫基础之初次使用scrapy爬虫实例
Jun 26 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创建多级目录的两种方法
2016/10/28 PHP
40款非常棒的jQuery 插件和制作教程(系列一)
2011/10/26 Javascript
Javascript对象中关于setTimeout和setInterval的this介绍
2012/07/21 Javascript
js弹出div并显示遮罩层
2014/02/12 Javascript
jQuery控制的不同方向的滑动(向左、向右滑动等)
2014/07/18 Javascript
浅谈Javascript如何实现匀速运动
2014/12/19 Javascript
jQuery将所有被选中的checkbox某个属性值连接成字符串的方法
2015/01/24 Javascript
借助FileReader实现将文件编码为Base64后通过AJAX上传
2015/12/24 Javascript
jQuery Pagination分页插件使用方法详解
2017/02/28 Javascript
Angular如何引入第三方库的方法详解
2017/07/13 Javascript
es6+angular1.X+webpack 实现按路由功能打包项目的示例
2017/08/16 Javascript
angular.js实现购物车功能
2017/10/23 Javascript
Vue组件中slot的用法
2018/01/30 Javascript
vue.js系列中的vue-fontawesome使用
2018/02/10 Javascript
JS从非数组对象转数组的方法小结
2018/03/26 Javascript
微信小程序日历效果
2018/12/29 Javascript
浅谈JavaScript窗体Window.ShowModalDialog使用
2020/07/22 Javascript
在Angular项目使用socket.io实现通信的方法
2021/01/05 Javascript
[06:20]2015国际邀请赛第三日top10
2015/08/08 DOTA
利用Python获取操作系统信息实例
2016/09/02 Python
Python 递归函数详解及实例
2016/12/27 Python
Python实现将Excel转换为json的方法示例
2017/08/05 Python
Python实现字典排序、按照list中字典的某个key排序的方法示例
2018/12/18 Python
使用Python合成图片的实现代码(图片添加个性化文本,图片上叠加其他图片)
2020/04/30 Python
浅析Python 条件控制语句
2020/07/15 Python
Python常用断言函数实例汇总
2020/11/30 Python
HTML5 Canvas 起步(1) - 基本概念
2009/05/12 HTML / CSS
老师给学生的表扬信
2014/01/17 职场文书
我的教育故事演讲稿
2014/05/04 职场文书
拾金不昧锦旗标语
2014/06/27 职场文书
纪律教育学习心得体会
2014/09/02 职场文书
2014国庆节国旗下演讲稿(精选版)
2014/09/26 职场文书
工伤私了协议书范本
2014/11/24 职场文书
初中英语教学随笔
2015/08/15 职场文书
2015年中学体育教师工作总结
2015/10/23 职场文书
分析并发编程之LongAdder原理
2021/06/29 Java/Android