1. 程式人生 > >reshape函式第一個引數-1是什麼意思

reshape函式第一個引數-1是什麼意思

比如一個數組【1,2,3,4,5】 shape是(5,)

reshape(-1,1)的結果是:

[[1]
 [2]
 [3]
 [4]

 [5]]

是一個一行5行1列的二維陣列,shape為(5,1)

讓我們再來看看reshape(-1,2)呢:ValueError: cannot reshape array of size 5 into shape (2)  報錯了

那我們來試一試【1,2,3,4,5,6】呢

[[1 2]
 [3 4]

 [5 6]]

他的shape是(3,2)

你可以推出-1是將一維陣列轉換為二維的矩陣,並且第二個引數是表示每一行數的個數,但是在reshape的時候必須讓數組裡面的個數和shape的函式做取餘時值為零才能轉換