【Numpy学习记录】np.transpose讲解
想了很久,决定还是追寻大神之路,开始写写博客,记录一下成长之路
废话不多说,我们开始讲正题: what is np.transpose?
1、首先看看二维矩阵:
import numpy as nparr = np.arange(30).reshape(5, 6)
print(arr)
tran_arr = np.transpose(arr, axes=None)
print(tran_arr)
输出结果为:
[[ 0 1 2 3 4 5]
[ 6 7 8 9 10 11]
[12 13 14 15 16 17]
[18 19 20 21 22 23]
[24 25 26 27 28 29]]
[[ 0 6 12 18 24]
[ 1 7 13 19 25]
[ 2 8 14 20 26]
[ 3 9 15 21 27]
[ 4 10 16 22 28]
[ 5 11 17 23 29]] 这个结果意料之中,很好理解,就是线性代数的转置矩阵
2、再看看多维(三维为例)矩阵
a.首先,要明确坐标问题
np.arange(12).reshape(2, 2, 3)
(2, 2, 3) 分别代表 d, h, w
我们不妨继续看看:
arr = np.arange(12).reshape(2, 2, 3)
print(arr[1, 0, 0])
输出结果为:
6 这下明白了吧,动手实践,多试几个
b. 接下来还要明白一个索引问题
形状 | 索引 |
---|---|
2 | 0 |
2 | 1 |
3 | 2 |
我们看看代码:
arr = np.arange(12).reshape(2, 2, 3)
print(arr)
tran_arr = np.transpose(arr, (1, 0, 2)) # (1, 0, 2)即为上面所说的索引号
print(tran_arr)
输出结果:
[[[ 0 1 2]
[ 3 4 5]]
[[ 6 7 8]
[ 9 10 11]]]
[[[ 0 1 2]
[ 6 7 8]]
[[ 3 4 5]
[ 9 10 11]]]
这样就实现了转置矩阵,但是对于初学者这个例子恐怕远远不够理解,我们换个例子你就懂啦!
arr = np.arange(24).reshape(3, 4, 2)
print(arr)
tran_arr = np.transpose(arr, (1, 0, 2))
print(tran_arr)
输出结果:
[[[ 0 1]
[ 2 3]
[ 4 5]
[ 6 7]]
[[ 8 9]
[10 11]
[12 13]
[14 15]]
[[16 17]
[18 19]
[20 21]
[22 23]]]
[[[ 0 1]
[ 8 9]
[16 17]]
[[ 2 3]
[10 11]
[18 19]]
[[ 4 5]
[12 13]
[20 21]]
[[ 6 7]
[14 15]
[22 23]]]
上面的shape 由(3,4,2)变成了(4,3,2),不就是因为索引号由(0,1,2)变成了(1,0,2)吗?
转置就是这么简单!
【Numpy学习记录】np.transpose讲解相关推荐
- 【Numpy 学习记录】np.stack 和 np.concatenate
np.stack 和 np.concatenate两个函数都是用来连接数组的, 但是他们之间还是有一些探讨之处,直接上代码,一看便知: import numpy as npa = np.zeros(1 ...
- 【Numpy学习记录】np.cov详解
写在篇前 在概率论和统计学中,协方差用于衡量两个变量的总体误差.而方差是协方差的一种特殊情况,即当两个变量是相同的情况.其定义的数学形式是:Cov(X,Y)=E[(X−E(X))(Y−E(Y))] ...
- Numpy学习之——np.zeros_like()函数
在学习用RNN网络实现连个数的加法运算时,看到代码中有行:W_update=np.zeros_like(W); 函数主要是想实现构造一个矩阵W_update,其维度与矩阵W一致,并为其初始化为全0:这 ...
- 【Python学习记录】Numpy广播机制(broadcast)
✨ 博客主页:小小马车夫的主页 ✨ 所属专栏:Python学习记录 文章目录 一.什么是Numpy广播机制 二.Numpy广播应用 三.Numpy广播规则 一.什么是Numpy广播机制 在Numpy. ...
- numpy学习笔记:np.zeros应用——生成三通道全黑Mask(蒙版)
numpy学习笔记:np.zeros应用--生成三通道全黑Mask(蒙板) np.zeros官方文档:np.zeros官方文档 下面是一段生成256*256三通道全黑mask的demo import ...
- 转置函数学习np.transpose
np.transpose 作用于一维数据,shape只有一个参数 没有效果 tt=np.array([0,1,2,3,4]) ttT=np.transpose(tt) print("ttsh ...
- python中numpy数组的合并_基于Python中numpy数组的合并实例讲解
基于Python中numpy数组的合并实例讲解 Python中numpy数组的合并有很多方法,如 - np.append() - np.concatenate() - np.stack() - np. ...
- 机器学习实战中的函数学习记录
title: 机器学习实战中的函数学习记录 date: 2020-05-01 09:20:50 tags: [python函数] categories: 机器学习实战 更多内容请关注我的博客 记录机器 ...
- MTCNN人脸检测及人脸关键点提取(学习记录)
我看了很多关于MTCNN框架的文章,但基本上都是一概而过,本文章记录MTCNN每一步的流程及附上注释的代码. MTCNN框架主要由三大子网络组成,即P-Net,R-Net,O-Net. 三大子网络的区 ...
最新文章
- 【进程通信】Signal信号
- SpringBoot 上传多个文件
- 两个pv挂一个vg_两个pv挂一个vg_VG解散LOL分部,LPL官网提前改名,下赛季被“RA”收购...
- python3语法糖_python的语法糖
- 使用C#操作Oracle Spatial的SDO_GEOMETRY对像(读取和写入)
- Vue3脚手架安装vue @/cli
- IO流-ReadLine方法的原理 自定义BufferedReader
- ubuntu16.04下安装windows软件,以及卸载.
- NFS服务安装与配置方案
- Java 11 升级:“债务”“危机”
- SonicWall 督促客户立即修复NSM 本地版本漏洞
- ostringstream使用
- 【事件驱动】【数码管识别】(C++多线程实现多幅图像的同步识别)
- NK细胞培养方法与优化解决方案
- IT十年人生过客-十八-路过机遇
- Vue2+VueRouter2+Webpack+Axios 构建项目实战2017重制版(十一)阶段性小结
- 软件工程专业的论文答辩_2015软件工程硕士论文答辩流程
- 刚毕业的小白想学软件测试,有没有好的机构推荐呢?
- imac pro m1芯片关闭sip方法
- android 智能家居 物联网 声纹开锁
热门文章
- 【千字分析】剑指 Offer 05. 替换空格
- 【详细分析】1023 Have Fun with Numbers (20 分)_20行代码AC
- 算法竞赛入门经典(第二版) | 例题5-2 木块问题 (紫皮书牛啤!)(UVa101,The Blocks Problem)
- [leetcode] 108.有序数组转换为二叉搜索树
- python链表和树实验报告_关于Python实现树结构和链表结构的一点想法
- notepad json格式化插件_Prettier + ESLint VSCode 插件配置指南
- Python爬取某旅游网站中的中国城市信息
- 三维空间长度温度数量_风电叶片模具水循环温度控制机及其智能化控制解析
- 这次来个BGP反射器的简单小实验
- 只有本地用户才能安装sql_为何只有安装了新风换气机才能打造好的家居环境?听听厂家怎么说...