2020/6/10

numpy reshape

np.reshape( ) 是把 array 重新安排 (group) ,可以重新安排維度..

舉例,宣告出一個一維的 array..
import numpy as np
A = np.array([1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,6,6,6,6])
把他分成6個group,每個 group 有 4 個 item..
A.reshape((6,3))

array([[1, 1, 1, 1],
       [2, 2, 2, 2],
       [3, 3, 3, 3],
       [4, 4, 4, 4],
       [5, 5, 5, 5],
       [6, 6, 6, 6]])
這樣就變成二維矩陣。
其中,第一個維度..
A.reshape((6,3))[0]

array([1,1,1,1])

三個維度的話...
先分成三個 group,每個 group 再分成兩個 group...
這樣每個最小 group 裡面有 4 個 item.
A.reshape((3,2,4))

array([[[1, 1, 1, 1],
        [2, 2, 2, 2]],

       [[3, 3, 3, 3],
        [4, 4, 4, 4]],

       [[5, 5, 5, 5],
        [6, 6, 6, 6]]])
每個維度的 index.. 和 item..
A.reshape((3,2,4))[1]

array([[3, 3, 3, 3],
       [4, 4, 4, 4]])


A.reshape((3,2,4))[1][0]

array([3, 3, 3, 3])

沒有留言:

張貼留言