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自动化测试ConfigParser模块读写配置文件
Aug 15 Python
python使用super()出现错误解决办法
Aug 14 Python
python好玩的项目—色情图片识别代码分享
Nov 07 Python
python实现人脸识别代码
Nov 08 Python
一道python走迷宫算法题
Jan 22 Python
Python实现的栈(Stack)
Jan 26 Python
Python简单实现阿拉伯数字和罗马数字的互相转换功能示例
Apr 17 Python
PyQt5笔记之弹出窗口大全
Jun 20 Python
Python 实现自动导入缺失的库
Oct 29 Python
使用python动态生成波形曲线的实现
Dec 04 Python
浅析python 定时拆分备份 nginx 日志的方法
Apr 27 Python
TensorFlow低版本代码自动升级为1.0版本
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上传中文文件名乱码问题处理方案
2015/02/03 PHP
新浪微博OAuth认证和储存的主要过程详解
2015/03/27 PHP
使用URL传输SESSION信息
2015/07/14 PHP
Extjs列表详细信息窗口新建后自动加载解决方法
2010/04/02 Javascript
jCallout 轻松实现气泡提示功能
2013/09/22 Javascript
JavaScript实现弹出DIV层同时页面背景渐变成半透明效果
2016/03/25 Javascript
两种JavaScript的AES加密方式(可与Java相互加解密)
2016/08/02 Javascript
小程序tab页无法传递参数的方法
2018/08/03 Javascript
微信小程序入门之广告条实现方法示例
2018/12/05 Javascript
微信JS-SDK updateAppMessageShareData安卓不能自定义分享详解
2019/03/29 Javascript
vue+web端仿微信网页版聊天室功能
2019/04/30 Javascript
ES6 Proxy实现Vue的变化检测问题
2019/06/11 Javascript
node实现爬虫的几种简易方式
2019/08/22 Javascript
Vue.js组件props数据验证实现详解
2019/10/19 Javascript
[44:40]2018DOTA2亚洲邀请赛3月30日 小组赛A组Liquid VS OG
2018/03/31 DOTA
python实现多线程抓取知乎用户
2016/12/12 Python
Python 装饰器使用详解
2017/07/29 Python
Python  unittest单元测试框架的使用
2018/09/08 Python
Python实现Dijkstra算法
2018/10/17 Python
python 中pyqt5 树节点点击实现多窗口切换问题
2019/07/04 Python
导入tensorflow时报错:cannot import name 'abs'的解决
2019/10/10 Python
详解pycharm配置python解释器的问题
2020/10/15 Python
python3.9和pycharm的安装教程并创建简单项目的步骤
2021/02/03 Python
css3中flex布局宽度不生效的解决
2020/12/09 HTML / CSS
美国汽车性能部件和赛车零件网站:Vivid Racing
2018/03/27 全球购物
Yahoo-PHP面试题1
2016/07/20 面试题
几个常见的软件测试问题
2016/09/07 面试题
优秀学生干部个人事迹材料
2014/06/02 职场文书
集中采购方案
2014/06/10 职场文书
关于随地扔垃圾的检讨书
2014/09/30 职场文书
党员倡议书
2015/01/19 职场文书
2015年民兵整组工作总结
2015/07/24 职场文书
2016大学军训通讯稿
2015/11/25 职场文书
2016大一新生军训心得体会
2016/01/11 职场文书
全家福照片寄语怎么写?
2019/04/02 职场文书
Nginx HTTP跳转至HTTPS
2022/05/15 Servers