ndarray的转置(numpy.transpose()与A.T命令对比分析)

 更新时间:2023年02月05日 09:06:22   作者:Codefmeister  
这篇文章主要介绍了ndarray的转置(numpy.transpose()与A.T命令对比分析),具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

ndarray的转置(transpose)

对于A是由np.ndarray表示的情况:

可以直接使用命令A.T

也可以使用命令A.transpose()

A.T 与 A.transpose()对比

结论

在默认情况下,两者效果相同,但transpose()可以指定交换的axis维度。

对于一维数组,两者均不改变,返回原数组。

对于二维数组,默认进行标准的转置操作。

对于多维数组A,A.shape(a,b,c,d,...,n),则转置后的shape(n,...,d,c,b,a),即逆序。

对于.transpose(),可以指定转置后的维度。

语法:A.transpose((axisOrder1,...,axisOrderN)),其效果等同于np.transpose(A,(axisOrder1,...,axisOrderN)),(axisOrder)中是想要得到的索引下标顺序。

效果详见例子。

Example 

二维默认情况下:

A = np.array([[1,2],[3,4]])
print(A)
print(A.T)
print(A.transpose())

结果如下:

Example1

多维默认情况下:

a = np.array([[[1,2,3,4],[4,5,6,7]],[[2,3,4,5],[5,6,7,8]],[[3,4,5,6],[4,5,6,7]]])
print(a.shape)
print(a.T.shape)
print(a.transpose().shape)

结果如下:

Example2

指定维度情况:

a = np.array([[[1,2,3,4],[4,5,6,7]],[[2,3,4,5],[5,6,7,8]],[[3,4,5,6],[4,5,6,7]]])
print(a.shape)
print(a.transpose(1,2,0).shape)
A = np.transpose(a,(1,2,0))
print(A.shape)

结果如下:

Example3

从截图中可以看出,a.transpose(1,2,0)np.transpose(a,(1,2,0))效果相同。

代码段中给出的axes(1,2,0),这决定了transpose后的数组,其shape在第一个维度即shape[0]上是原来的shape[1],第二维shape[1]是原来的shape[2],第三维shape[2]是原来的shape[0]

所以原shape(3,2,4)。新的shape为(2,4,3)

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • 浅谈Python中os模块及shutil模块的常规操作

    浅谈Python中os模块及shutil模块的常规操作

    这篇文章主要介绍了浅谈Python中os模块及shutil模块的常规操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-04-04
  • Windows系统下安装Python的SSH模块教程

    Windows系统下安装Python的SSH模块教程

    这篇文章主要介绍了Windows系统下安装Python的SSH模块教程,本文涵盖了pycrypto、ecdsa、paramiko、OpenSSH、SSH等模块的安装,需要的朋友可以参考下
    2015-02-02
  • python图片指定区域替换img.paste函数的使用

    python图片指定区域替换img.paste函数的使用

    这篇文章主要介绍了python图片指定区域替换img.paste函数的使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-04-04
  • Python学习之集合的常用方法总结

    Python学习之集合的常用方法总结

    集合并不是一种数据处理类型,而是一种中间类型。集合(set)是一个无序、不重复的元素序列,经常被用来处理两个列表进行交并差的处理性。本文将详细讲解集合的一些常用方法,感兴趣的可以了解一下
    2022-03-03
  • Python NumPy实现数组排序与过滤示例分析讲解

    Python NumPy实现数组排序与过滤示例分析讲解

    NumPy是Python的一种开源的数值计算扩展,它支持大量的维度数组与矩阵运算,这篇文章主要介绍了使用NumPy实现数组排序与过滤的方法,需要的朋友们下面随着小编来一起学习吧
    2023-05-05
  • 30道python自动化测试面试题与答案汇总

    30道python自动化测试面试题与答案汇总

    对于机器学习算法工程师而言,Python是不可或缺的语言,它的优美与简洁令人无法自拔,下面这篇文章主要给大家介绍了关于30道python自动化测试面试题与答案汇总的相关资料,需要的朋友可以参考下
    2023-03-03
  • python dataframe获得指定行列实战代码

    python dataframe获得指定行列实战代码

    对于一个DataFrame,常常需要筛选出某列为指定值的行,下面这篇文章主要给大家介绍了关于python dataframe获得指定行列的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2023-12-12
  • 在Qt中正确的设置窗体的背景图片的几种方法总结

    在Qt中正确的设置窗体的背景图片的几种方法总结

    今天小编就为大家分享一篇在Qt中正确的设置窗体的背景图片的几种方法总结,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-06-06
  • python ip正则式

    python ip正则式

    python下的ip正则实现代码。
    2009-05-05
  • Django 项目布局方法(值得推荐)

    Django 项目布局方法(值得推荐)

    这篇文章主要介绍了Django 项目布局方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-03-03

最新评论