python矩阵转置_对python矩阵转置transpose的实例讲解
对python矩阵转置transpose的实例讲解
在读图片时,会用到这么的一段代码:
image_vector_len = np.prod(image_size)#总元素大小,3*55*47
img = Image.open(path)
arr_img = np.asarray(img, dtype='float64')
arr_img = arr_img.transpose(2,0,1).reshape((image_vector_len, ))# 47行,55列,每个点有3个元素rgb。再把这些元素一字排开
transpose是什么意识呢? 看如下例子:
arr1 = array([[[ 0, 1, 2, 3],
[ 4, 5, 6, 7]],
[[ 8, 9, 10, 11],
[12, 13, 14, 15]]])
这是原来的矩阵。如果对其进行转置,执行arr2 = arr1.transpose((1,0,2))
得到:
array([[[ 0, 1, 2, 3],
[ 8, 9, 10, 11]],
[[ 4, 5, 6, 7],
[12, 13, 14, 15]]])
过程是怎样的?
arr1.shape 应该是(2, 2, 4) 意为 2维,2*4矩阵
arr1.transpose(*args) 里面的参数,可以这么理解,他是调换arr1.shape的顺序,咱来给arr1.shape标一下角标哈,(2[0], 2[1], 4[2]) [ ] 里是shape的索引,对吧,
transpose((1, 0, 2)) 的意思是 按照这个顺序 重新设置shape 也就是 (2[1], 2[0], 4[2])
虽然看起来 变换前后的shape都是 2,2,4 , 但是问题来了,transpose是转置
shape按照(1,0,2)的顺序重新设置了, array里的所有元素 也要按照这个规则重新组成新矩阵
比如 8 在arr1中的索引是 (1, 0, 0) 那么按照刚才的变换规则,就是 (0, 1, 0) 看看跟你结果arr2的位置一样了吧,依此类推..
另外一个知识点:
对于一维的shape,转置是不起作用的,举例:
x=linspace(0,4,5)
#array([0.,1.,2.,3.,4.])
y=transpose(x) # 会转置失败。
如果想正确使用的话:
x.shape=(5,1)
y=transpose(x) #就可以了
以上这篇对python 矩阵转置transpose的实例讲解就是小编分享给大家的全部内容了,希望能给大家一个参考
完 谢谢观看
python矩阵转置_对python矩阵转置transpose的实例讲解相关推荐
- python转置矩阵函数_对python 矩阵转置transpose的实例讲解
在读图片时,会用到这么的一段代码: image_vector_len = np.prod(image_size)#总元素大小,3*55*47 img = Image.open(path) arr_im ...
- python transpose_对python 矩阵转置transpose的实例讲解
在读图片时,会用到这么的一段代码: image_vector_len = np.prod(image_size)#总元素大小,3*55*47 img = Image.open(path) arr_im ...
- python 时间序列预测_使用Python进行动手时间序列预测
python 时间序列预测 Time series analysis is the endeavor of extracting meaningful summary and statistical ...
- python 概率分布模型_使用python的概率模型进行公司估值
python 概率分布模型 Note from Towards Data Science's editors: While we allow independent authors to publis ...
- python中矩阵的转置_[转]Python中的矩阵转置
Python中的矩阵转置 via 需求: 你需要转置一个二维数组,将行列互换. 讨论: 你需要确保该数组的行列数都是相同的.比如: arr = [[1, 2, 3], [4, 5, 6], [7, 8 ...
- python给矩阵赋值_解决Python二维数组赋值问题
解决Python二维数组赋值问题 当我们采用s=[[0]*3]*2初始化一个数组,然后对s[0][0]进行赋值,改变的是第一列所有的值.因为用s = [[0]*3]*2 初始化数组,他表示的是指向这个 ...
- python numpy逆_关于python:为什么numpy和scipy中的矩阵求逆函数对于大的二次矩阵返回不同的结果?...
可以说我定义了一个大的二次矩阵(例如150x150). 一次它是一个numpy数组(矩阵A),一次是scipy稀疏数组(矩阵B). 1 2 3 4 5 6 7 8 9 10 11 12import n ...
- 线性代数矩阵行列式_非平方矩阵的行列式| 使用Python的线性代数
线性代数矩阵行列式 Prerequisites: 先决条件: Defining a Matrix 定义矩阵 Determinant of a Matrix 矩阵的行列式 Note: Determina ...
- python矩阵计算器_【python实用编程之简单矩阵计算器实现】GUI编程
#coding=gbk from tkinter import Tk,Menu,messagebox,Text,END from re import match,findall from numpy. ...
最新文章
- LeetCode简单题之三角形的最大周长
- python @ 符号 表示矩阵乘法时的用法
- AIX 文件操作和AIX 目录操作
- 数列求和 java_[代码展示]数列求和
- 天梯— A-B(C语言)
- Linux安装nextcloud教程,WSL下安装nextcloud
- debounce函数的实现
- 题解【[BJOI2012]算不出的等式】
- 控制系统状态空间表达式的解(3)——求解线性定常系统零状态响应
- 图像坐标系、相机坐标系和世界坐标系 相机的内、外参数矩阵
- 基于3D Vision眼镜的OSG立体显示
- python中国大学慕课网_高级语言程序设计(Python)中国大学慕课搜题网站
- 使用vscode开发,使用插件记录
- 《缠中说禅108课》41:没有节奏,只有死
- WIN7 64位操作系统下成功安装Oracle10g(32位)
- sharePoint 发生意外错误.显示错误详细信息
- 【C语言】字符数组的定义及使用
- 个人创业如何赚钱?现在做什么生意赚钱?
- ALSA声卡笔记2---ASoC驱动框架
- 破解企业服务支付难题,SaaS与支付如何深度融合?