关于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的Django框架中设置日期和字段可选的方法
Jul 17 Python
Python中operator模块的操作符使用示例总结
Jun 28 Python
利用Python获取操作系统信息实例
Sep 02 Python
python学习之面向对象【入门初级篇】
Jan 21 Python
python编程线性回归代码示例
Dec 07 Python
Pycharm 操作Django Model的简单运用方法
May 23 Python
python爬虫自动创建文件夹的功能
Aug 01 Python
python实现简单日期工具类
Apr 24 Python
python GUI库图形界面开发之PyQt5多行文本框控件QTextEdit详细使用方法实例
Feb 28 Python
django-csrf使用和禁用方式
Mar 13 Python
keras 读取多标签图像数据方式
Jun 12 Python
简单了解如何封装自己的Python包
Jul 08 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生成不重复随机数的方法汇总
2014/11/19 PHP
PHP直接修改表内容DataGrid功能实现代码
2015/09/24 PHP
ThinkPHP5.1框架数据库链接和增删改查操作示例
2019/08/03 PHP
laravel 如何实现引入自己的函数或类库
2019/10/15 PHP
极酷的javascirpt,让你随意编辑任何网页
2007/02/25 Javascript
兼容IE、firefox以及chrome的js获取时间(getFullYear)
2014/07/04 Javascript
jQuery中用dom操作替代正则表达式
2014/12/29 Javascript
JavaScript三元运算符的多种使用技巧
2015/04/16 Javascript
JavaScript实现数据类型的相互转换
2016/03/06 Javascript
原生js封装二级城市下拉列表的实现代码
2016/06/16 Javascript
如何解决vue与传统jquery插件冲突
2017/03/20 Javascript
基于vue的短信验证码倒计时demo
2017/09/13 Javascript
详解如何在react中搭建d3力导向图
2018/01/12 Javascript
使用vue-router设置每个页面的title方法
2018/02/11 Javascript
vue项目部署到Apache服务器中遇到的问题解决
2018/08/24 Javascript
jQuery实现判断滚动条滚动到document底部的方法分析
2019/08/27 jQuery
浅谈layui使用模板引擎动态渲染元素要注意的问题
2019/09/14 Javascript
微信小程序换肤功能实现代码(思路详解)
2020/08/25 Javascript
OpenLayers3实现图层控件功能
2020/09/25 Javascript
[56:41]2018DOTA2亚洲邀请赛 3.31 小组赛 A组 Newbee vs OG
2018/04/01 DOTA
python实现word 2007文档转换为pdf文件
2018/03/15 Python
python模块smtplib实现纯文本邮件发送功能
2018/05/22 Python
对python内置map和six.moves.map的区别详解
2018/12/19 Python
浅析Python 中几种字符串格式化方法及其比较
2019/07/02 Python
django实现用户注册实例讲解
2019/10/30 Python
python 安装教程之Pycharm安装及配置字体主题,换行,自动更新
2020/03/13 Python
Python实现冒泡排序算法的完整实例
2020/11/04 Python
scrapy头部修改的方法详解
2020/12/06 Python
大韩航空官方网站:Korean Air
2017/10/25 全球购物
Coggles美国/加拿大:高级国际时装零售商
2018/10/23 全球购物
iostream与iostream.h的区别
2015/01/16 面试题
暑假实习求职信范文
2013/09/22 职场文书
企业给企业的表扬信
2014/01/13 职场文书
劳模事迹材料范文
2014/12/24 职场文书
解析mybatis-plus中的resultMap简单使用
2021/11/23 Java/Android
AJAX引擎原理以及XmlHttpRequest对象的axios、fetch区别详解
2022/04/09 Javascript