这篇文章主要介绍了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数组转置与轴变换相关推荐

  1. python numpy array索引_Python NumPy 数组索引

    1.访问数组元素 数组索引与访问数组元素相同. 您可以通过引用其索引号来访问数组元素. NumPy数组中的索引以0开头,这意味着第一个元素的索引为0,第二个元素的索引为1等. 例如: 从以下数组中获取 ...

  2. Numpy基础(二)——数组转置、计算内积和换轴

    1 数组转置   转置是一种特殊的数据重组形式,可以返回底层数据的视图而不需要复制任何内容.利用数组的transpose方法或者数组的T属性实现. In [88]: arr=np.arange(15) ...

  3. python array函数_Python numpy.array函数方法的使用

    numpy.array numpy.array(object, dtype=None, *, copy=True, order='K', subok=False, ndmin=0) 创建array. ...

  4. python numpy读取数据_Python numpy数据的保存和读取

    原博文 2019-04-01 16:30 − 在科学计算的过程中,往往需要保存一些数据,也经常需要把保存的这些数据加载到程序中,在 Matlab 中我们可以用 save 和 lood 函数很方便的实现 ...

  5. python中squeeze函数_Python numpy.squeeze()用法及代码示例

    当我们要从数组形状中删除一维条目时,将使用numpy.squeeze()函数. 用法: numpy.squeeze(arr, axis=None ) 参数: arr :[数组]输入数组. axis : ...

  6. python中mat函数_Python Numpy中的Matlab cell2mat函数?

    从某种意义上说,Python的"cells"比MATLAB-list长得多.python列表是1d单元格(或者更确切地说,大小为1维的单元格)的直接替代品.二维单元格可以表示为嵌套 ...

  7. python numpy库下载_Python Numpy库快速入门

    https://stackedit.io/viewer 1/9 Python 科 学 计 算 库 NumPy 的 使 ⽤ NumPy 的 介 绍 NumPy(Numerical Python 的 缩 ...

  8. python未知数的矩阵运算_python – Numpy矩阵运算

    这是解决此类问题的一般策略. 首先,编写一个小脚本,将循环显式写入两个不同的函数,最后进行测试,确保两个函数完全相同: import numpy as np from numpy import new ...

  9. python 取array并集_Python内置数据结构原理与性能简易分析

    ins @ngladc 文末左下方阅读原文指向了本人博客链接,不含广告.参考资料中的相关链接,可以在博客文章的最下方获取.推荐苹果手机用户使用浅色模式观看. 前言 对于一些算法题,可以使用Python ...

最新文章

  1. 网页后门工具laudanum
  2. input type=file change事件只触发一次
  3. linux mysql 5.5 安装_Linux 安装 mysql5.5.19
  4. 使用 Solid 私有化存储 IPFS 文件哈希值
  5. JEECG Framework 3.3.1 beta版本发布第一天战报(文档下载量破1300、代码下载量破700)
  6. Redis集群之主从复制
  7. python __init__(self)_python中的_init_和self是什么的关系?
  8. mysqlbinlog: unknown variable 'default-character-s
  9. calloc与malloc的区别
  10. 数据结构1800题-错题集-第四章
  11. win10应用程序模糊处理
  12. 使用Websphere的TPTP工具进行性能分析和监控
  13. Linux文件名包含小括号处理
  14. LVTTL与LVCMOS区别
  15. springboot概述、自动转配原理、yaml语法、多环境配置及文件位置
  16. MCS-51单片机存储器结构-特殊功能寄存器 :堆栈指针SP(Stack Pointer)
  17. cppcheck代码检查工具安装与使用技巧
  18. 打开心灵——SD2.0大会更显大家风范
  19. wordpress修改地址后打不开_ip地址变了wordpress打不开
  20. 想进阿里必须啃透的 13 道 MySQL 面试题

热门文章

  1. Cat.5e/Cat.6系统测试要点和常见工程问题解答
  2. jvm学习笔记(4)——jvm配置调优
  3. anaconda进出某个环境
  4. php与mysql网页实例,php与mysql 实例
  5. LightSwitch社区资源搜集
  6. 2.4. myisamchk — MyISAM Table-Maintenance Utility
  7. 微信小应用资源汇总整理
  8. ASP.NET Core 源码阅读笔记(1) ---Microsoft.Extensions.DependencyInjection
  9. mysql5.7密码过期ERROR 1862 (HY000): Your password has expired. To log in you must change
  10. Entity Framework 6 Recipes 2nd Edition(11-5)译 - 从”模型定义”函数返回一个匿名类型...