关于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 optparse模块使用实例
Apr 09 Python
Windows下为Python安装Matplotlib模块
Nov 06 Python
教你用Python写安卓游戏外挂
Jan 11 Python
使用Python对微信好友进行数据分析
Jun 27 Python
Python之两种模式的生产者消费者模型详解
Oct 26 Python
[原创]Python入门教程5. 字典基本操作【定义、运算、常用函数】
Nov 01 Python
python使用Turtle库绘制动态钟表
Nov 19 Python
python模拟登陆,用session维持回话的实例
Dec 27 Python
Python 点击指定位置验证码破解的实现代码
Sep 11 Python
pytorch的batch normalize使用详解
Jan 15 Python
python利用platform模块获取系统信息
Oct 09 Python
通过实例解析python and和or使用方法
Nov 14 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调用mysql存储过程
2007/02/14 PHP
PHP+jQuery 注册模块的改进(一):验证码存入SESSION
2014/10/14 PHP
jquery+thinkphp实现跨域抓取数据的方法
2016/10/15 PHP
Laravel5.* 打印出执行的sql语句的方法
2017/07/24 PHP
PHP实现微信对账单处理
2018/10/01 PHP
TP - 比RBAC更好的权限认证方式(Auth类认证)
2021/03/09 PHP
使用GruntJS链接与压缩多个JavaScript文件过程详解
2013/08/02 Javascript
js 遍历json返回的map内容示例代码
2013/10/29 Javascript
webpack4 升级迁移的实现
2018/09/12 Javascript
详解webpack 热更新优化
2018/09/13 Javascript
Seajs源码详解分析
2019/04/02 Javascript
Vue 实现输入框新增搜索历史记录功能
2019/10/15 Javascript
微信小程序在text文本实现多种字体样式
2019/11/08 Javascript
JS运算符简单用法示例
2020/01/19 Javascript
JavaScript实现Excel表格效果
2020/02/07 Javascript
vue3.0中友好使用antdv示例详解
2021/01/05 Vue.js
全面解读Python Web开发框架Django
2014/06/30 Python
python实现文件的分割与合并
2019/08/29 Python
Django 实现外键去除自动添加的后缀‘_id’
2019/11/15 Python
详解python对象之间的交互
2020/09/29 Python
PyQt5通过信号实现MVC的示例
2021/02/06 Python
CSS3颜色值RGBA与渐变色使用介绍
2020/03/06 HTML / CSS
Html5 Canvas实现图片标记、缩放、移动和保存历史状态功能 (附转换公式)
2020/03/18 HTML / CSS
美国知名的女性服饰品牌:LOFT(洛芙特)
2016/08/05 全球购物
美国基督教约会网站:ChristianCafe.com
2020/02/04 全球购物
聚网科技C++面试笔试题
2015/09/01 面试题
网友共享的几个面试题关于Java和Unix等方面的
2016/09/08 面试题
教师自荐书
2013/10/08 职场文书
财务会计毕业生自荐信
2013/11/02 职场文书
公司开业庆典主持词
2014/03/21 职场文书
单位活动策划方案
2014/08/17 职场文书
民主生活会剖析材料
2014/09/30 职场文书
劳模先进事迹材料
2014/12/24 职场文书
2015幼儿园新学期寄语
2015/02/27 职场文书
社区干部培训心得体会
2016/01/06 职场文书
动态规划之使用备忘录来改进Javascript函数
2022/04/07 Javascript