在 NumPy 中使用数组时,resize 和 reshape 之间有什么区别?

新手上路,请多包涵

我刚开始使用 NumPy。 resizereshape 对于数组有什么区别?

原文由 Rish_Saxena 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 759
1 个回答

如此 所述,重塑不会更改数据。调整大小更改数据,如此处 所示

这里有些例子:

 >>> numpy.random.rand(2,3)
array([[ 0.6832785 ,  0.23452056,  0.25131171],
       [ 0.81549186,  0.64789272,  0.48778127]])
>>> ar = numpy.random.rand(2,3)
>>> ar.reshape(1,6)
array([[ 0.43968751,  0.95057451,  0.54744355,  0.33887095,  0.95809916,
         0.88722904]])
>>> ar
array([[ 0.43968751,  0.95057451,  0.54744355],
       [ 0.33887095,  0.95809916,  0.88722904]])

reshape 后数组没有改变,只是输出一个临时的数组 reshape。

 >>> ar.resize(1,6)
>>> ar
array([[ 0.43968751,  0.95057451,  0.54744355,  0.33887095,  0.95809916,
         0.88722904]])

调整大小后,数组改变了它的形状。

原文由 Rahul Reddy Vemireddy 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题