python-reshape函數(shù)參數(shù)為-1的原因與用法

上面是知乎博主的回答,講得很清晰易懂。

下面是自己的一點理解:
1.當(dāng)原始數(shù)組A[4,6]為二維數(shù)組,代表4行6列。
A.reshape(-1,8):表示將數(shù)組轉(zhuǎn)換成8列的數(shù)組,具體多少行我們不知道,所以參數(shù)設(shè)為-1。用我們的數(shù)學(xué)可以計算出是3行8列
2當(dāng)原始數(shù)組A[4,6]為二維數(shù)組,代表4行6列。
A.reshape(3,-1):表示將數(shù)組轉(zhuǎn)換成3行的數(shù)組,具體多少列我們不知道,所以參數(shù)設(shè)為-1。用我們的數(shù)學(xué)可以計算出是3行8列

下面是代碼進(jìn)行驗證:

C:\Users\K>python
Python 2.7.13 |Anaconda, Inc.| (default, Sep 19 2017, 08:25:59) [MSC v.1500 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import numpy as np
>>> A = np.arange(24).reshape(4,6)
>>> A
array([[ 0,  1,  2,  3,  4,  5],
       [ 6,  7,  8,  9, 10, 11],
       [12, 13, 14, 15, 16, 17],
       [18, 19, 20, 21, 22, 23]])
>>> B = A.reshape(-1,8)
>>> B
array([[ 0,  1,  2,  3,  4,  5,  6,  7],
       [ 8,  9, 10, 11, 12, 13, 14, 15],
       [16, 17, 18, 19, 20, 21, 22, 23]])
>>> A
array([[ 0,  1,  2,  3,  4,  5],
       [ 6,  7,  8,  9, 10, 11],
       [12, 13, 14, 15, 16, 17],
       [18, 19, 20, 21, 22, 23]])
>>> C = A.reshape(3,-1)
>>> C
array([[ 0,  1,  2,  3,  4,  5,  6,  7],
       [ 8,  9, 10, 11, 12, 13, 14, 15],
       [16, 17, 18, 19, 20, 21, 22, 23]])
>>>
image.png

參考知乎回答:https://www.zhihu.com/question/52684594

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容