0
我剛開始使用'NumPy',我試圖瞭解陣列的resize
和reshape
之間的區別。在Numpy中使用數組時,resize和reshape有什麼區別?
我剛開始使用'NumPy',我試圖瞭解陣列的resize
和reshape
之間的區別。在Numpy中使用數組時,resize和reshape有什麼區別?
重塑不會像提到的here那樣更改數據。 調整大小改變數據,可以看到here。
下面是一些例子:
>>> 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]])
重塑後的陣列並沒有改變,而只是輸出一個臨時數組重塑。
>>> ar.resize(1,6)
>>> ar
array([[ 0.43968751, 0.95057451, 0.54744355, 0.33887095, 0.95809916,
0.88722904]])
調整大小後,數組改變了它的形狀。
由於OP沒有指定,我會指出'ar.resize(rows,cols)'改變了原始數組的位置,而'np.resize(ar,X)'只輸出一個改變大小的數組, 'ar'保持不變。 此外,如果新尺寸大於原始'ar','ar.resize'在最後加上零,而'np.resize'重複原來的'ar'。 –
你有沒有嘗試過任何研究? – TigerhawkT3
sum(ndarray.shape)''''和''ndarray.size''在''''ndarray.reshape'''後面是一樣的。 ''''ndarray.resize'''後面的值會有所不同 – wwii
'reshape'一直在使用; 「調整大小」是很少需要的,並且經常讓初學者感到困惑;忽略它。 – hpaulj