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类和继承用法实例
Jul 07 Python
Python 描述符(Descriptor)入门
Nov 20 Python
Python的语言类型(详解)
Jun 24 Python
关于Python数据结构中字典的心得
Dec 04 Python
python for循环输入一个矩阵的实例
Nov 14 Python
python实现将汉字保存成文本的方法
Nov 16 Python
Python直接赋值、浅拷贝与深度拷贝实例分析
Jun 18 Python
python函数与方法的区别总结
Jun 23 Python
pandas分批读取大数据集教程
Jun 06 Python
OpenCV利用python来实现图像的直方图均衡化
Oct 21 Python
Python绘制词云图之可视化神器pyecharts的方法
Feb 23 Python
Python中requests做接口测试的方法
May 30 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获得当前的脚本网址
2007/12/10 PHP
php学习笔记 类的声明与对象实例化
2011/06/13 PHP
PHP会话操作之cookie用法分析
2016/09/28 PHP
PHP使用xpath解析XML的方法详解
2017/05/20 PHP
浅谈thinkphp5 instance 的简单实现
2017/07/30 PHP
Laravel 对某一列进行筛选然后求和sum()的例子
2019/10/10 PHP
PHP call_user_func和call_user_func_array函数的简单理解与应用分析
2019/11/25 PHP
javaScript 动态访问JSon元素示例代码
2013/08/30 Javascript
jQuery实现炫酷的鼠标轨迹特效
2015/02/01 Javascript
javascript判断数组内是否重复的方法
2015/04/21 Javascript
javascript消除window.close()的提示窗口
2015/05/20 Javascript
小议JavaScript中Generator和Iterator的使用
2015/07/29 Javascript
JS实现的网页背景闪电闪烁效果代码
2015/10/17 Javascript
JavaScript字符串_动力节点Java学院整理
2017/06/27 Javascript
js实现扫雷小程序的示例代码
2017/09/27 Javascript
浅谈Vue数据响应思路之数组
2018/11/06 Javascript
详解JavaScript 作用域
2020/07/14 Javascript
Python深入学习之装饰器
2014/08/31 Python
详解python中xlrd包的安装与处理Excel表格
2016/12/16 Python
Python中利用aiohttp制作异步爬虫及简单应用
2018/11/29 Python
python字符串替换re.sub()方法解析
2019/09/18 Python
python3.6.8 + pycharm + PyQt5 环境搭建的图文教程
2020/06/11 Python
numpy 矩阵形状调整:拉伸、变成一位数组的实例
2020/06/18 Python
用python对excel进行操作(读,写,修改)
2020/12/25 Python
CSS3实现的渐变幻灯片效果
2020/12/07 HTML / CSS
html5自带表单验证体验优化及提示气泡修改功能
2017/09/12 HTML / CSS
HTML5 Canvas 起步(2) - 路径
2009/05/12 HTML / CSS
美国牙科折扣计划:DentalPlans.com
2019/08/26 全球购物
网站开发实习生的自我评价
2013/12/11 职场文书
毕业设计计划书
2014/01/09 职场文书
课前一分钟演讲稿
2014/08/26 职场文书
党员查摆问题及整改措施
2014/10/10 职场文书
学校禁毒宣传活动总结
2015/05/08 职场文书
红楼梦读书笔记
2015/06/25 职场文书
高一地理教学工作总结
2015/08/12 职场文书
Spring this调用当前类方法无法拦截的示例代码
2022/03/20 Java/Android