关于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程序实例(通讯录)
Nov 29 Python
python list使用示例 list中找连续的数字
Jan 27 Python
对Python的多进程锁的使用方法详解
Feb 18 Python
python 列表转为字典的两个小方法(小结)
Jun 28 Python
python 公共方法汇总解析
Sep 16 Python
python中的selenium安装的步骤(浏览器自动化测试框架)
Mar 17 Python
Python 炫技操作之合并字典的七种方法
Apr 10 Python
Python 创建守护进程的示例
Sep 29 Python
python 获取计算机的网卡信息
Feb 18 Python
Python中OpenCV实现查找轮廓的实例
Jun 08 Python
python机器学习Github已达8.9Kstars模型解释器LIME
Nov 23 Python
Python 使用 Frame tkraise() 方法在 Tkinter 应用程序中的Frame之间切换
Apr 24 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
PHP5.3的垃圾回收机制(动态存储分配方案)深入理解
2012/12/10 PHP
php使用 readfile() 函数设置文件大小大小的方法
2017/08/11 PHP
Yii 框架使用数据库(databases)的方法示例
2020/05/19 PHP
一个不错的应用,用于提交获取文章内容,不推荐用
2007/03/03 Javascript
《JavaScript高级程序设计》阅读笔记(三) ECMAScript中的引用类型
2012/02/27 Javascript
jQuery点击后一组图片左右滑动的实现代码
2012/08/16 Javascript
使用js显示当前时间示例
2014/03/02 Javascript
判断是否存在子节点的实现代码
2016/05/18 Javascript
Javascript缓存API
2016/06/14 Javascript
js实现select选择框效果及美化
2016/08/19 Javascript
AngularJS中的JSONP实例解析
2016/12/01 Javascript
jQuery File Upload文件上传插件使用详解
2016/12/06 Javascript
Angular实现双向折叠列表组件的示例代码
2017/11/21 Javascript
对TypeScript库进行单元测试的方法
2019/07/18 Javascript
在Vue中使用this.$store或者是$route一直报错的解决
2019/11/08 Javascript
浅谈vue 组件中的setInterval方法和window的不同
2020/07/30 Javascript
Vue切换Tab动态渲染组件的操作
2020/09/21 Javascript
python使用内存zipfile对象在内存中打包文件示例
2014/04/30 Python
复习Python中的字符串知识点
2015/04/14 Python
python opencv旋转图像(保持图像不被裁减)
2018/07/26 Python
Python列表list常用内建函数实例小结
2019/10/22 Python
Python实现把多维数组展开成DataFrame
2019/11/30 Python
如何用tempfile库创建python进程中的临时文件
2021/01/28 Python
如何用Matlab和Python读取Netcdf文件
2021/02/19 Python
HTML5 语音搜索(淘宝店语音搜素)
2013/01/03 HTML / CSS
C#中类(class)与结构(struct)的异同
2013/11/03 面试题
大学生职业生涯规划书前言
2014/01/09 职场文书
中学生自我评价范文
2014/02/08 职场文书
学生安全责任书
2014/04/15 职场文书
奥巴马连任演讲稿
2014/05/15 职场文书
领导干部四风问题自我剖析材料
2014/09/25 职场文书
三严三实民主生活会发言稿
2014/10/13 职场文书
公司股份转让协议书范本
2015/01/28 职场文书
党风廉政建设个人总结
2015/03/06 职场文书
2015年药品销售工作总结范文
2015/05/25 职场文书
浅谈克隆 JavaScript
2021/11/02 Javascript