python numpy array转置_Python numpy数组转置与轴变换
这篇文章主要介绍了Python numpy数组转置与轴变换,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
矩阵的转置
>>> import numpy as np
>>> arr=np.arange(15).reshape((3,5))
>>> arr
array([[ 0, 1, 2, 3, 4],
[ 5, 6, 7, 8, 9],
[10, 11, 12, 13, 14]])
>>> arr.T
array([[ 0, 5, 10],
[ 1, 6, 11],
[ 2, 7, 12],
[ 3, 8, 13],
[ 4, 9, 14]])
矩阵的内积
>>> import numpy as np
>>> arr=np.arange(15).reshape((3,5))
>>> arr
array([[ 0, 1, 2, 3, 4],
[ 5, 6, 7, 8, 9],
[10, 11, 12, 13, 14]])
>>> arr.T
array([[ 0, 5, 10],
[ 1, 6, 11],
[ 2, 7, 12],
[ 3, 8, 13],
[ 4, 9, 14]])
>>> np.dot(arr.T,arr)
array([[125, 140, 155, 170, 185],
[140, 158, 176, 194, 212],
[155, 176, 197, 218, 239],
[170, 194, 218, 242, 266],
[185, 212, 239, 266, 293]])
轴变换
二维轴变换
1.两轴交换
>>> import numpy as np
>>> arr=np.arange(15).reshape((3,5))
>>> arr
array([[ 0, 1, 2, 3, 4],
[ 5, 6, 7, 8, 9],
[10, 11, 12, 13, 14]])
>>> arr.transpose(1,0)#1轴和0轴进行交换
array([[ 0, 5, 10],
[ 1, 6, 11],
[ 2, 7, 12],
[ 3, 8, 13],
[ 4, 9, 14]])
三维轴变换
>>> arr = np.arange(16).reshape((2, 2, 4))
>>> arr
array([[[ 0, 1, 2, 3],
[ 4, 5, 6, 7]],
[[ 8, 9, 10, 11],
[12, 13, 14, 15]]])
>>> arr.transpose((1,0,2))
array([[[ 0, 1, 2, 3],
[ 8, 9, 10, 11]],
[[ 4, 5, 6, 7],
[12, 13, 14, 15]]])
1.这种变化有点麻烦,不好理解。但是如果简单化就好了,加入用P(x,y,z)来表示矩阵中的每一个点,那么在numpy中,这个x,y,z就分别对应0,1,2
2.举个例子比如原来数组中0这个元素,它原来的坐标是(0,0,0),那么transpose(1,0,2)对于这个点来说就是把x,y坐标互换,而z坐标不变,则其在新的矩阵中坐标依旧是(0,0,0)不变
3.举个另外点的例子比如4这个点,其坐标是(0,1,1),那么它的x和y坐标交换之后是(1,0,1),所以它在新的矩阵中位置是(1,0,1)
4.事实上transpose函数正是对原来矩阵中每个点做这个变换,最后得到新的矩阵
两轴交换
交换1轴和2轴
>>> arr
array([[[ 0, 1, 2, 3],
[ 4, 5, 6, 7]],
[[ 8, 9, 10, 11],
[12, 13, 14, 15]]])
>>> arr.swapaxes(1,2)
array([[[ 0, 4],
[ 1, 5],
[ 2, 6],
[ 3, 7]],
[[ 8, 12],
[ 9, 13],
[10, 14],
[11, 15]]])
>>> arr
array([[[ 0, 1, 2, 3],
[ 4, 5, 6, 7]],
[[ 8, 9, 10, 11],
[12, 13, 14, 15]]])
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持python博客。
python numpy array转置_Python numpy数组转置与轴变换相关推荐
- python numpy array索引_Python NumPy 数组索引
1.访问数组元素 数组索引与访问数组元素相同. 您可以通过引用其索引号来访问数组元素. NumPy数组中的索引以0开头,这意味着第一个元素的索引为0,第二个元素的索引为1等. 例如: 从以下数组中获取 ...
- Numpy基础(二)——数组转置、计算内积和换轴
1 数组转置 转置是一种特殊的数据重组形式,可以返回底层数据的视图而不需要复制任何内容.利用数组的transpose方法或者数组的T属性实现. In [88]: arr=np.arange(15) ...
- python array函数_Python numpy.array函数方法的使用
numpy.array numpy.array(object, dtype=None, *, copy=True, order='K', subok=False, ndmin=0) 创建array. ...
- python numpy读取数据_Python numpy数据的保存和读取
原博文 2019-04-01 16:30 − 在科学计算的过程中,往往需要保存一些数据,也经常需要把保存的这些数据加载到程序中,在 Matlab 中我们可以用 save 和 lood 函数很方便的实现 ...
- python中squeeze函数_Python numpy.squeeze()用法及代码示例
当我们要从数组形状中删除一维条目时,将使用numpy.squeeze()函数. 用法: numpy.squeeze(arr, axis=None ) 参数: arr :[数组]输入数组. axis : ...
- python中mat函数_Python Numpy中的Matlab cell2mat函数?
从某种意义上说,Python的"cells"比MATLAB-list长得多.python列表是1d单元格(或者更确切地说,大小为1维的单元格)的直接替代品.二维单元格可以表示为嵌套 ...
- python numpy库下载_Python Numpy库快速入门
https://stackedit.io/viewer 1/9 Python 科 学 计 算 库 NumPy 的 使 ⽤ NumPy 的 介 绍 NumPy(Numerical Python 的 缩 ...
- python未知数的矩阵运算_python – Numpy矩阵运算
这是解决此类问题的一般策略. 首先,编写一个小脚本,将循环显式写入两个不同的函数,最后进行测试,确保两个函数完全相同: import numpy as np from numpy import new ...
- python 取array并集_Python内置数据结构原理与性能简易分析
ins @ngladc 文末左下方阅读原文指向了本人博客链接,不含广告.参考资料中的相关链接,可以在博客文章的最下方获取.推荐苹果手机用户使用浅色模式观看. 前言 对于一些算法题,可以使用Python ...
最新文章
- 网页后门工具laudanum
- input type=file change事件只触发一次
- linux mysql 5.5 安装_Linux 安装 mysql5.5.19
- 使用 Solid 私有化存储 IPFS 文件哈希值
- JEECG Framework 3.3.1 beta版本发布第一天战报(文档下载量破1300、代码下载量破700)
- Redis集群之主从复制
- python __init__(self)_python中的_init_和self是什么的关系?
- mysqlbinlog: unknown variable 'default-character-s
- calloc与malloc的区别
- 数据结构1800题-错题集-第四章
- win10应用程序模糊处理
- 使用Websphere的TPTP工具进行性能分析和监控
- Linux文件名包含小括号处理
- LVTTL与LVCMOS区别
- springboot概述、自动转配原理、yaml语法、多环境配置及文件位置
- MCS-51单片机存储器结构-特殊功能寄存器 :堆栈指针SP(Stack Pointer)
- cppcheck代码检查工具安装与使用技巧
- 打开心灵——SD2.0大会更显大家风范
- wordpress修改地址后打不开_ip地址变了wordpress打不开
- 想进阿里必须啃透的 13 道 MySQL 面试题
热门文章
- Cat.5e/Cat.6系统测试要点和常见工程问题解答
- jvm学习笔记(4)——jvm配置调优
- anaconda进出某个环境
- php与mysql网页实例,php与mysql 实例
- LightSwitch社区资源搜集
- 2.4. myisamchk — MyISAM Table-Maintenance Utility
- 微信小应用资源汇总整理
- ASP.NET Core 源码阅读笔记(1) ---Microsoft.Extensions.DependencyInjection
- mysql5.7密码过期ERROR 1862 (HY000): Your password has expired. To log in you must change
- Entity Framework 6 Recipes 2nd Edition(11-5)译 - 从”模型定义”函数返回一个匿名类型...