Numpy中reshape和resize的區別

daimashiren發表於2020-12-14

區別:

  • np.reshape()作用是將原來的陣列變換形狀不改變陣列元素數量,要求更改後的陣列元素總數不變
  • np.resize()作用是改變陣列的大小和形狀,會改變陣列元素數量,如果更改後的陣列元素比原陣列的多,則用原陣列中的元素充填補齊。

例項:

In:

import numpy as np
a = np.arange(9)
b = np.reshape(a,(3,3))
c = np.resize(a,(5,5))
print(b)
print()
print(c)

Out:
原陣列:  [0 1 2 3 4 5 6 7 8]
reshape的結果:
[[0 1 2]
 [3 4 5]
 [6 7 8]] 
陣列形狀為: (3, 3)


resize的結果: 
[[0 1 2 3 4]
 [5 6 7 8 0]
 [1 2 3 4 5]
 [6 7 8 0 1]
 [2 3 4 5 6]]
陣列的形狀為: (5, 5)

相關文章