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 容器总结整理
Apr 04 Python
详解如何使用Python编写vim插件
Nov 28 Python
pyqt实现.ui文件批量转换为对应.py文件脚本
Jun 19 Python
Python使用正则表达式分割字符串的实现方法
Jul 16 Python
python使用pip安装SciPy、SymPy、matplotlib教程
Nov 20 Python
python获取array中指定元素的示例
Nov 26 Python
Python实现点云投影到平面显示
Jan 18 Python
基于Tensorflow批量数据的输入实现方式
Feb 05 Python
Pycharm无法打开双击没反应的问题及解决方案
Aug 17 Python
python自动提取文本中的时间(包含中文日期)
Aug 31 Python
python从PDF中提取数据的示例
Oct 30 Python
Python使用sql语句对mysql数据库多条件模糊查询的思路详解
Apr 12 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应用提速面面观
2006/10/09 PHP
PHP4在WinXP下IIS和Apache2服务器上的安装实例
2006/10/09 PHP
PHP实现清除wordpress里恶意代码
2015/10/21 PHP
PHP实现给定一列字符,生成指定长度的所有可能组合示例
2019/06/22 PHP
如何让动态插入的javascript脚本代码跑起来。
2007/01/09 Javascript
javascript引导程序
2008/10/26 Javascript
ExtJS 下拉多选框lovcombo
2010/05/19 Javascript
基于datagrid框架的查询
2013/04/08 Javascript
js 遍历json返回的map内容示例代码
2013/10/29 Javascript
自己使用js/jquery写的一个定制对话框控件
2014/05/02 Javascript
JavaScript中读取和保存文件实例
2014/05/08 Javascript
jQuery购物网页经典制作案例
2016/08/19 Javascript
初识简单却不失优雅的Vue.js
2016/09/12 Javascript
在js代码拼接dom对象到页面上去的模板总结(必看)
2017/02/14 Javascript
微信小程序 Nginx环境配置详细介绍
2017/02/14 Javascript
vue.js中v-on:textInput无法执行事件问题的解决过程
2017/07/12 Javascript
Vue框架中正确引入JS库的方法介绍
2017/07/30 Javascript
跨域请求两种方法 jsonp和cors的实现
2018/11/11 Javascript
vue element中axios下载文件(后端Python)
2019/05/10 Javascript
[03:08]迎霜节狂欢!2018年迎霜节珍藏Ⅰ一览
2018/12/25 DOTA
python模拟enum枚举类型的方法小结
2015/04/30 Python
Python2.x版本中cmp()方法的使用教程
2015/05/14 Python
Python中map,reduce,filter和sorted函数的使用方法
2015/08/17 Python
使用Python的PIL模块来进行图片对比
2016/02/18 Python
CentOS 6.X系统下升级Python2.6到Python2.7 的方法
2016/10/12 Python
python爬虫入门教程--快速理解HTTP协议(一)
2017/05/25 Python
python3+PyQt5+Qt Designer实现堆叠窗口部件
2018/04/20 Python
使用Python来开发微信功能
2018/06/13 Python
Python read函数按字节(字符)读取文件的实现
2019/07/03 Python
Python二维码生成识别实例详解
2019/07/16 Python
享受加州生活方式的时尚舒适:XCVI
2018/07/09 全球购物
美国名牌香水折扣网站:Hottperfume
2021/02/10 全球购物
八一建军节演讲稿
2014/09/10 职场文书
欢迎新生标语
2014/10/06 职场文书
小学运动会通讯稿
2015/07/18 职场文书
pytorch中的model.eval()和BN层的使用
2021/05/22 Python