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

作者:Codefmeister 时间:2023-11-13 05:57:27 

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())

结果如下:

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

多维默认情况下:

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)

结果如下:

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

指定维度情况:

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)

结果如下:

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

从截图中可以看出,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)

来源:https://blog.csdn.net/weixin_43977640/article/details/109909305

标签:ndarray,转置,numpy.transpose,A.T命令
0
投稿

猜你喜欢

  • Windows下使用性能监视器监控SqlServer的常见指标

    2024-01-26 17:52:44
  • python3 写一个WAV音频文件播放器的代码

    2023-04-09 05:06:36
  • sqlserver bcp(数据导入导出工具)一般用法与命令详解

    2012-07-11 15:56:39
  • python实现将一个数组逆序输出的方法

    2022-07-16 11:07:51
  • python安装cx_Oracle模块常见问题与解决方法

    2021-04-24 13:00:27
  • Django基础之Model操作步骤(介绍)

    2022-04-12 12:17:50
  • Python使用微信接入图灵机器人过程解析

    2022-05-29 04:03:14
  • MySQL中datetime时间字段的四舍五入操作

    2024-01-28 08:00:40
  • python中的json总结

    2022-03-07 15:51:30
  • Mysql实现简易版搜索引擎的示例代码

    2024-01-28 10:42:32
  • d3.js实现简单的网络拓扑图实例代码

    2024-05-09 10:19:58
  • 再说淘宝的评价和信用机制

    2008-07-10 12:43:00
  • Flask框架中request、请求钩子、上下文用法分析

    2022-04-17 23:05:08
  • 如何用python爬取微博热搜数据并保存

    2021-10-21 14:13:38
  • Python实现基于SVM的分类器的方法

    2023-11-18 18:20:02
  • 如何使用python-opencv批量生成带噪点噪线的数字验证码

    2023-10-14 03:38:54
  • python练习程序批量修改文件名

    2022-01-29 06:53:12
  • (100-1)% 的内容是导航

    2008-01-11 19:23:00
  • 在Golang中使用Redis的方法示例

    2024-04-28 09:16:01
  • [翻译]标记语言和样式手册 Chapter 4 引用

    2008-01-20 14:19:00
  • asp之家 网络编程 m.aspxhome.com