关于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中的多行注释文档编写风格汇总
Jun 16 Python
python记录程序运行时间的三种方法
Jul 14 Python
Python实现将文本生成二维码的方法示例
Jul 18 Python
Python通过Django实现用户注册和邮箱验证功能代码
Dec 11 Python
python3+PyQt5重新实现自定义数据拖放处理
Apr 19 Python
数组保存为txt, npy, csv 文件, 数组遍历enumerate的方法
Jul 09 Python
浅谈python中str字符串和unicode对象字符串的拼接问题
Dec 04 Python
python样条插值的实现代码
Dec 17 Python
将labelme格式数据转化为标准的coco数据集格式方式
Feb 17 Python
python3格式化字符串 f-string的高级用法(推荐)
Mar 04 Python
Django REST 异常处理详解
Jul 15 Python
Python如何将装饰器定义为类
Jul 30 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
BBS(php & mysql)完整版(七)
2006/10/09 PHP
PHP如何利用P3P实现跨域
2013/08/24 PHP
linux系统下php安装mbstring扩展的二种方法
2014/01/20 PHP
curl实现站外采集的方法和技巧
2014/01/31 PHP
php similar_text()函数的定义和用法
2016/05/12 PHP
PHP图片水印类的封装
2017/07/06 PHP
[原创]PHP正则匹配中英文、数字及下划线的方法【用户名验证】
2017/08/01 PHP
解决php扩展安装不生效问题
2019/10/25 PHP
yii2.0框架数据库操作简单示例【添加,修改,删除,查询,打印等】
2020/04/13 PHP
JS获取计算机mac地址以及IP的实现方法
2014/01/08 Javascript
JavaScript操作URL的相关内容集锦
2015/10/29 Javascript
JavaScript省市级联下拉菜单实例
2017/02/14 Javascript
vue2.0获取自定义属性的值
2017/03/28 Javascript
通过构造函数实例化对象的方法
2017/06/28 Javascript
bootstrap3中container与container_fluid外层容器的区别讲解
2017/12/04 Javascript
AngularJS监听ng-repeat渲染完成的方法
2018/03/20 Javascript
JS操作json对象key、value的常用方法分析
2019/10/29 Javascript
JavaScript如何使用插值实现图像渐变
2020/06/28 Javascript
[02:12]打造更好的电竞完美世界:完美盛典回顾篇
2018/12/19 DOTA
Django uwsgi Nginx 的生产环境部署详解
2019/02/02 Python
Django之模板层的实现代码
2019/09/09 Python
使用遗传算法求二元函数的最小值
2020/02/11 Python
Django分组聚合查询实例分享
2020/04/29 Python
如何基于python实现年会抽奖工具
2020/10/20 Python
北美领先的智能产品购物网站:Wellbots
2018/06/11 全球购物
俄罗斯最大的灯具网站:Fandeco
2020/03/14 全球购物
final, finally, finalize的区别
2012/03/01 面试题
小学教育毕业生自荐信
2013/11/18 职场文书
公司出纳岗位职责
2013/12/07 职场文书
给孩子的新年寄语
2014/04/08 职场文书
质量在我心中演讲稿
2014/09/02 职场文书
工作经历证明书范文
2014/11/02 职场文书
组织生活会发言材料
2014/12/15 职场文书
初中作文评语集锦
2014/12/25 职场文书
婚礼伴郎致辞
2015/07/28 职场文书
九九重阳节致辞
2015/07/31 职场文书