python - 如何 reshape 具有不同维度的 3d 数组?

标签 python python-3.x numpy

我有一个 numpy 数组:

y = np.array([[[14,15,16],[24,25,26],[34,35,36],[44,45,46]],
        [[11,21,31],[12,22,32],[13,23,33],[14,24,34]]])

y 的形状为 (2,4,3) 我想将其 reshape 为 (4,3,2),例如:

[[[14,11],[15,21],[16,31]],
 [[24,12],[25,22],[26,32]],
 [[34,13],[35,23],[36,33]],
 [[44,14],[45,24],[46,34]]]

我尝试使用y.reshape(4,3,2)),但结果不是我想要的。

最佳答案

您可以使用numpy.moveaxis() :

y = np.moveaxis(y,0,2)

你会得到:

array([[[14, 11],
        [15, 21],
        [16, 31]],

       [[24, 12],
        [25, 22],
        [26, 32]],

       [[34, 13],
        [35, 23],
        [36, 33]],

       [[44, 14],
        [45, 24],
        [46, 34]]])

关于python - 如何 reshape 具有不同维度的 3d 数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56364676/

相关文章:

python-3.x - AWS lambda 无法导入名称 '_bcrypt'

python - 迭代numpy矩阵并获取score gt的所有值

python - 从具有列索引的元组列表创建一个稀疏矩阵,其中 1

带有 float 的字符串格式化的 Python 精度

python - 无法从网页中抓取标题

python - 定义 __new__ 后对象不带任何参数

python - numpy中二维的跨步卷积

python - @param 和 : param in Pycharm 有什么区别

python - 在 Python 中将列表初始化为特定长度

python - Django Rest Framework 不从条件返回响应代码