关于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中统计函数运行耗时的方法
May 05 Python
Python 编码处理-str与Unicode的区别
Sep 06 Python
LRUCache的实现原理及利用python实现的方法
Nov 21 Python
django rest framework 数据的查找、过滤、排序的示例
Jun 25 Python
flask框架视图函数用法示例
Jul 19 Python
django进阶之cookie和session的使用示例
Aug 17 Python
windows下 兼容Python2和Python3的解决方法
Dec 05 Python
详解pandas.DataFrame中删除包涵特定字符串所在的行
Apr 04 Python
Python使用MyQR制作专属动态彩色二维码功能
Jun 04 Python
python sorted方法和列表使用解析
Nov 18 Python
python selenium自动化测试框架搭建的方法步骤
Jun 14 Python
python开发一个解析protobuf文件的简单编译器
Nov 17 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 fopen()和 file_get_contents()应用与差异介绍
2014/03/19 PHP
PHP入门教程之操作符与控制结构流程详解
2016/09/09 PHP
PhpStorm本地断点调试的方法步骤
2018/05/21 PHP
验证用户是否修改过页面的数据的实现方法
2008/09/26 Javascript
js post提交调用方法
2014/02/12 Javascript
原生javascript模仿win8等待提示圆圈进度条
2014/04/24 Javascript
jquery计算鼠标和指定元素之间距离的方法
2015/06/26 Javascript
JS实现弹性漂浮效果的广告代码
2015/09/02 Javascript
Jquery左右滑动插件之实现超级炫酷动画效果附源码下载
2015/12/02 Javascript
AngularJS 过滤与排序详解及实例代码
2016/09/14 Javascript
Jil,高效的json序列化和反序列化库
2017/02/15 Javascript
使用Bootstrap + Vue.js实现添加删除数据示例
2017/02/27 Javascript
jQuery插件FusionCharts实现的2D柱状图效果示例【附demo源码下载】
2017/03/06 Javascript
Angular中$broadcast和$emit的使用方法详解
2017/05/22 Javascript
Mongoose中document与object的区别示例详解
2017/09/18 Javascript
angular 服务随记小结
2019/05/06 Javascript
解决layer弹出层自适应页面大小的问题
2019/09/16 Javascript
Vue项目中使用flow做类型检测的方法
2020/03/18 Javascript
javascript设计模式 ? 解释器模式原理与用法实例分析
2020/04/17 Javascript
解决vue中的无限循环问题
2020/07/27 Javascript
Vue.js使用axios动态获取response里的data数据操作
2020/09/08 Javascript
如何搭建一个完整的Vue3.0+ts的项目步骤
2020/10/18 Javascript
python在linux中输出带颜色的文字的方法
2014/06/19 Python
详细介绍Python中的偏函数
2015/04/27 Python
Python的randrange()方法使用教程
2015/05/15 Python
PyQt5每天必学之工具提示功能
2018/04/19 Python
Python实现将通信达.day文件读取为DataFrame
2018/12/22 Python
解决Python3 被PHP程序调用执行返回乱码的问题
2019/02/16 Python
python如何判断IP地址合法性
2020/04/05 Python
python中JWT用户认证的实现
2020/05/18 Python
浅谈python opencv对图像颜色通道进行加减操作溢出
2020/06/03 Python
html5小程序飞入购物车(抛物线绘制运动轨迹点)
2020/10/19 HTML / CSS
技校毕业生自荐信
2014/06/03 职场文书
2015年中学元旦晚会活动方案
2014/12/09 职场文书
继承权公证书范本
2015/01/23 职场文书
微信小程序实现轮播图指示器
2022/06/25 Javascript