关于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中的错误处理
Apr 10 Python
浅谈Python 集合(set)类型的操作——并交差
Jun 30 Python
python密码错误三次锁定(实例讲解)
Nov 14 Python
python:print格式化输出到文件的实例
May 14 Python
python筛选出两个文件中重复行的方法
May 31 Python
浅谈Python traceback的优雅处理
Aug 31 Python
python实现简单flappy bird
Dec 24 Python
Python-Tkinter Text输入内容在界面显示的实例
Jul 12 Python
Python中pymysql 模块的使用详解
Aug 12 Python
Python namedtuple命名元组实现过程解析
Jan 08 Python
python使用Geany编辑器配置方法
Feb 21 Python
django ListView的使用 ListView中获取url中的参数值方式
Mar 27 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 操作文件的一些FAQ总结
2009/02/12 PHP
php实现中文字符截取防乱码方法汇总
2015/04/29 PHP
PHP+MySQL实现的简单投票系统实例
2016/02/24 PHP
PHP超全局变量实现原理及代码解析
2020/09/01 PHP
JavaScript使用prototype定义对象类型(转)[
2006/12/22 Javascript
JQuery中的$.getJSON 使用说明
2011/03/10 Javascript
jquery弹出层类代码分享
2013/12/27 Javascript
nodejs中使用monk访问mongodb
2014/07/06 NodeJs
详解AngularJS中的依赖注入机制
2015/06/17 Javascript
论JavaScript模块化编程
2016/03/07 Javascript
Node.js操作mysql数据库增删改查
2016/03/30 Javascript
javascript创建cookie、读取cookie
2016/03/31 Javascript
JavaScript字符串_动力节点Java学院整理
2017/06/27 Javascript
在原生不支持的旧环境中添加兼容的Object.keys实现方法
2017/09/11 Javascript
Vue中v-show添加表达式的问题(判断是否显示)
2018/03/26 Javascript
GOJS+VUE实现流程图效果
2018/12/01 Javascript
Node.js实现简单管理系统
2019/09/23 Javascript
JS实现小星星特效
2019/12/24 Javascript
基于JS实现视频上传显示进度条
2020/05/12 Javascript
python实现socket客户端和服务端简单示例
2014/02/24 Python
python3之微信文章爬虫实例讲解
2017/07/12 Python
python实现简单淘宝秒杀功能
2018/05/03 Python
python3处理含有中文的url方法
2018/05/10 Python
Python实现简单查找最长子串功能示例
2019/02/26 Python
python bluetooth蓝牙信息获取蓝牙设备类型的方法
2019/11/29 Python
阿联酋团购网站:Groupon阿联酋
2016/10/14 全球购物
linux面试题参考答案(8)
2016/04/19 面试题
2014年三八妇女节活动方案
2014/02/28 职场文书
读书活动总结范文
2014/04/26 职场文书
领导干部作风建设总结
2014/10/23 职场文书
2014年党务工作总结
2014/11/25 职场文书
2014年幼儿园德育工作总结
2014/12/17 职场文书
学长教您写论文:经验总结
2019/07/09 职场文书
导游词之河北白洋淀
2020/01/15 职场文书
MySQL分库分表与分区的入门指南
2021/04/22 MySQL
nginx配置之并发频次限制
2022/04/18 Servers