您好,登錄后才能下訂單哦!
小編給大家分享一下Numpy中shape函數怎么用,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
shape函數的功能是讀取矩陣的長度,比如shape[0]就是讀取矩陣第一維度的長度,相當于行數。它的輸入參數可以是一個整數表示維度,也可以是一個矩陣。shape函數返回的是一個元組,表示數組(矩陣)的維度,例子如下:
1. 數組(矩陣)只有一個維度時,shape只有shape[0],返回的是該一維數組(矩陣)中元素的個數,通俗點說就是返回列數,因為一維數組只有一行,一維情況中array創建的可以看做list(或一維數組),創建時用()和[ ]都可以,多維就不可以這樣子了,這里使用[ ],請看下例:
>>> a=np.array([1,2]) >>> a array([1, 2]) >>> a.shape (2L,) >>> a.shape[0] 2L >>> a.shape[1] Traceback (most recent call last): File "<pyshell#63>", line 1, in <module> a.shape[1] IndexError: tuple index out of range #最后報錯是因為一維數組只有一個維度,可以用a.shape或a.shape[0]來訪問
>>> a=np.array((1,2)) >>> a array([1, 2]) #這個使用的是兩個()包裹,得到的數組和前面的一樣
2.數組有兩個維度(即行和列)時,和我們的邏輯思維一樣,a.shape返回的元組表示該數組的行數與列數,請看下例:
>>> a=np.array([[1,2],[3,4]]) #注意二維數組要用()和[]一起包裹起來,鍵入print a 會得到一個用2個[]包裹的數組(矩陣) >>> a array([[1, 2], [3, 4]]) >>> a.shape (2L, 2L) >>> b=np.array([[1,2,3],[4,5,6]]) >>> b array([[1, 2, 3], [4, 5, 6]]) >>> b.shape (2L, 3L)
3.當數組是三維時,要用一個()和兩個[]包裹起來,鍵入print a 會得到一個用3個[]包裹的數組(矩陣),請看下例:
>>> a=np.array([[[1,2],[3,4]]]) >>> a array([[[1, 2], [3, 4]]]) >>> a.shape (1L, 2L, 2L)
這里返回的元組表示3個維度各包含的元素的個數。
所謂元素,在一維時就是元素的個數,二維時表示行數和列數,三維時a.shape【0】表示創建的塊數,a.shape【1】和a.shape【2】表示每一塊(每一塊都是二維的)的行數和列數,舉個例子:
>>> a=np.ones([2,2,3])#創建兩個2行3列的數組(矩陣) >>> a array([[[ 1., 1., 1.], [ 1., 1., 1.]], [[ 1., 1., 1.], [ 1., 1., 1.]]])
總結:使用np.array()創建數組時,
一維的可以直接np.array([1,2,3])或者np.array((1,2,3)),輸出(print)時是:
>>> print a [1 2 3]
外面有一個[]包裹;
二維的要使用np.array([[1,2,3],[1,2,3]]),用一個()和一個[]把要輸入的list包裹起來,輸出(print)時是
>>> print a [[1 2 3] [1 2 3]]
外面有兩個[]包裹;
三維的要使用np.array([[[1,2,3],[1,2,3]]]),用一個()和兩個[]把要輸入的list包裹起來,輸出(print)時是
>>> print a [[[1 2 3] [1 2 3]]]
外面有三個[]包裹;
對于更高維的情況以后再研究
以上是“Numpy中shape函數怎么用”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。