Python numpy数组转置与轴变换


Posted in Python onNovember 15, 2019

这篇文章主要介绍了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]])

轴变换

二维轴变换

Python numpy数组转置与轴变换

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正则获取、过滤或者替换HTML标签的方法
Jan 28 Python
Python 实现链表实例代码
Apr 07 Python
Python简单实现Base64编码和解码的方法
Apr 29 Python
利用Python暴力破解zip文件口令的方法详解
Dec 21 Python
Python之web模板应用
Dec 26 Python
flask中过滤器的使用详解
Aug 01 Python
python实现zabbix发送短信脚本
Sep 17 Python
对python添加模块路径的三种方法总结
Oct 16 Python
python 对key为时间的dict排序方法
Oct 17 Python
基于python实现MQTT发布订阅过程原理解析
Jul 27 Python
python安装cx_Oracle和wxPython的方法
Sep 14 Python
Python中Qslider控件实操详解
Feb 20 Python
python修改文件内容的3种方法详解
Nov 15 #Python
Python实现基于socket的udp传输与接收功能详解
Nov 15 #Python
python根据文本生成词云图代码实例
Nov 15 #Python
解决django后台管理界面添加中文内容乱码问题
Nov 15 #Python
python中的TCP(传输控制协议)用法实例分析
Nov 15 #Python
Django admin禁用编辑链接和添加删除操作详解
Nov 15 #Python
django实现类似触发器的功能
Nov 15 #Python
You might like
PHP也可以?成Shell Script
2006/10/09 PHP
用PHP调用数据库的存贮过程
2006/10/09 PHP
PHP数据库操作三:redis用法分析
2017/08/16 PHP
PHP实现数组和对象的相互转换操作示例
2019/03/20 PHP
PHP生成短网址的思路以及实现方法的详解
2019/03/25 PHP
PHP实现文件上传操作和封装
2020/03/04 PHP
phpStudy vscode 搭建debug调试的教程详解
2020/07/28 PHP
关于js获取radio和select的属性并控制的代码
2011/05/12 Javascript
JavaScript实现x秒后自动跳转到一个页面
2013/01/03 Javascript
jQuery 三击事件实现代码
2013/09/11 Javascript
js取值中form.all和不加all的区别介绍
2014/01/20 Javascript
原生js获取宽高与jquery获取宽高的方法关系对比
2014/04/04 Javascript
js面向对象编程之如何实现方法重载
2014/07/02 Javascript
JS异步错误捕获的一些事小结
2019/04/26 Javascript
Jquery如何使用animation动画效果改变背景色的代码
2020/07/20 jQuery
解决vue单页面多个组件嵌套监听浏览器窗口变化问题
2020/07/30 Javascript
打印出python 当前全局变量和入口参数的所有属性
2009/07/01 Python
ptyhon实现sitemap生成示例
2014/03/30 Python
Python抽象类的新写法
2015/06/18 Python
python读写ini配置文件方法实例分析
2015/06/30 Python
详解django.contirb.auth-认证
2018/07/16 Python
python中使用paramiko模块并实现远程连接服务器执行上传下载功能
2020/02/29 Python
Python selenium爬虫实现定时任务过程解析
2020/06/08 Python
Python unittest生成测试报告过程解析
2020/09/08 Python
详解HTML5中rel属性的prefetch预加载功能使用
2016/05/06 HTML / CSS
美国领先的家居装饰和礼品商店:Kirkland’s
2017/01/30 全球购物
女士和男士时尚鞋在线购物:Shoespie
2019/02/28 全球购物
公司前台辞职报告
2014/01/19 职场文书
公司拓展活动方案
2014/02/13 职场文书
公司授权委托书格式样本
2014/10/01 职场文书
个人工作总结范文2014
2014/11/07 职场文书
2014小学教师年度考核工作总结
2014/12/03 职场文书
《唯一的听众》教学反思
2016/02/18 职场文书
文艺有韵味的诗句(生命类、亲情类...)
2019/07/11 职场文书
python实现求纯色彩图像的边框
2021/04/08 Python
如何用Python搭建gRPC服务
2021/06/30 Python