python - 如何转置 3D 矩阵?

标签 python python-3.x numpy matrix transpose

我有一个大小为 (100, 33, 66) 的 3D 矩阵 x_test,我想将其尺寸更改为 (100, 66, 33)

使用 python3.5 最有效的方法是什么?我沿着这些方向寻找一些东西:

y = x_test.transpose()

最佳答案

您可以将所需的尺寸传递给函数 np.transpose在您的案例中使用 np.transpose(x_test, (0, 2, 1))

例如,

import numpy as np

x_test = np.arange(30).reshape(3, 2, 5)

print(x_test)
print(x_test.shape)

这将打印

[[[ 0  1  2  3  4]
  [ 5  6  7  8  9]]

 [[10 11 12 13 14]
  [15 16 17 18 19]]

 [[20 21 22 23 24]
  [25 26 27 28 29]]]
(3, 2, 5)

现在,您可以使用上面的命令转置矩阵

y = np.transpose(x_test, (0, 2, 1))
print(y)
print(y.shape)

这将给

[[[ 0  5]
  [ 1  6]
  [ 2  7]
  [ 3  8]
  [ 4  9]]

 [[10 15]
  [11 16]
  [12 17]
  [13 18]
  [14 19]]

 [[20 25]
  [21 26]
  [22 27]
  [23 28]
  [24 29]]]
(3, 5, 2)

关于python - 如何转置 3D 矩阵?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47470697/

相关文章:

python - 如何保存 Python 交互式 session ?

python - 这是子类化 python 线程以接受变量更新的有效方法吗?

python-3.x - 如何创建 rtp 音频的 raw?

python - 在两个数组中查找共同值的索引

django - 如何将 django QuerySet 转换为 numpy 记录数组?

python - 按字符串位置解析文本文件

python - 远程控制或脚本打开 Office 从 Python 编辑 Word 文档

python - 命令 "python setup.py egg_info"在/tmp/pip-build-tu6ygqzj/mysql-python/中失败,错误代码为 1

django - docker-为开发和生产组合相同的配置,但仅在开发中启用主机和容器之间的代码共享

python - 如何获取用户 session 的 Pandas TimeSeries(使用 Pandas 或 Numpy)