Python 使用Numpy如何将给定的3D数组转换为3x3矩阵数组
我现在正在学习Numpy,我正试着把我的头绕在整形上。 我有一个3D数组,看起来这些值是随机的,但形状很重要:Python 使用Numpy如何将给定的3D数组转换为3x3矩阵数组,python,arrays,numpy,matrix,Python,Arrays,Numpy,Matrix,我现在正在学习Numpy,我正试着把我的头绕在整形上。 我有一个3D数组,看起来这些值是随机的,但形状很重要: [[[37. 56. 56. 54. 82. 85. 68. 46. 6.]] [[96. 20. 53. 52. 79. 94. 59. 29. 40.]] [[57. 59. 38. 53. 88. 96. 61. 62. 48.]] [[32. 92. 56. 52. 74. 12. 63. 58. 81.]] [[16. 89. 24. 26. 33. 82. 80.
[[[37. 56. 56. 54. 82. 85. 68. 46. 6.]]
[[96. 20. 53. 52. 79. 94. 59. 29. 40.]]
[[57. 59. 38. 53. 88. 96. 61. 62. 48.]]
[[32. 92. 56. 52. 74. 12. 63. 58. 81.]]
[[16. 89. 24. 26. 33. 82. 80. 66. 89.]]]
我想把它变成一个3x3矩阵的数组,就像这样:
[[[37. 56. 56.]
[54. 82. 85.]
[68. 46. 6.]]
[[96. 20. 53.]
[52. 79. 94.]
[59. 29. 40.]]
[[57. 59. 38.]
[53. 88. 96.]
[61. 62. 48.]]
[[32. 92. 56.]
[52. 74. 12.]
[63. 58. 81.]]
[[16. 89. 24.]
[26. 33. 82.]
[80. 66. 89.]]]
如果到目前为止我对每件事都理解正确的话,这在numpy.Reforme中应该是可能的,但我无法让它工作。谁能给我指一下正确的方向吗 您需要重新调整阵列的形状。看看你现在拥有的,它是5,1,9:5个元素,在顶级维度中,每个元素都是1,9形状的数组 现在,您希望具有相同数量的顶级元素行,但在形状3、3的数组中,因此需要调用:
your_array.reshape((5, 3, 3))
在中,您可以找到有关该行为的用法示例和重要信息,例如何时返回视图以及何时返回副本。只需重新形状?但作为什么?我想我没有正确理解重塑功能是的,这帮了我很大的忙谢谢。2D以上的一切有时仍然令人困惑,但我想我现在明白了: