首页  >  文章  >  后端开发  >  如何将 4D NumPy 数组重塑为 2D 数组?

如何将 4D NumPy 数组重塑为 2D 数组?

Patricia Arquette
Patricia Arquette原创
2024-11-01 20:12:02599浏览

How to Reshape a 4D NumPy Array into a 2D Array?

在 NumPy 中将 4D 数组重塑为 2D 数组背后的直觉和想法

了解如何在 NumPy 中重塑数组在处理多维数据时至关重要。虽然 reshape 函数提供了一种修改数组形状的便捷方法,但掌握它在高维数组上的操作方式可能具有挑战性。

一般转换方法

在不同维度级别 (nd) 之间转换数组涉及两个关键步骤:

  1. 排列轴: 使用 transpose、moveaxis 和 rollaxis 等函数重新排列轴的顺序,以确保输入数组的扁平表示与所需输出的表示相匹配。
  2. 重塑: 更改数组的形状以创建其他轴或将现有轴合并到最终所需的形状。

具体示例

让我们考虑问题中提供的 4D 数组:

array([[[[ 0,  0],
         [ 0,  0]],

        [[ 5, 10],
         [15, 20]]],


       [[[ 6, 12],
         [18, 24]],

        [[ 7, 14],
         [21, 28]]]])

将其重塑为 (4,4),我们可以应用以下步骤:

  1. 排列轴:我们需要交换轴(2,0,3,1)来对齐展平的表示。
  2. 重塑:最后,我们可以将排列数组重塑为所需的 (4,4) 形状。
array.transpose((2, 0, 3, 1)).reshape(4,4)

结果:

array([[ 0,  5,  0, 10],
       [ 6,  7, 12, 14],
       [ 0, 15,  0, 20],
       [18, 21, 24, 28]])

回溯法

可以使用回溯法来简化解决此类转换:

  1. 确定输出数组的最终形状。
  2. 如果需要匹配输出的 nd,首先分割输入数组。
  3. 通过研究输出数组的步幅并将其与输入进行比较来确定排列顺序。
  4. 如果需要合并剩余的轴,应用任何最终的重塑。

其他示例

请参阅提供的其他示例列表,以获取有关重塑 nd 的进一步指导NumPy 中的数组。理解这些转换对于有效操作多维数据至关重要。

以上是如何将 4D NumPy 数组重塑为 2D 数组?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn