Numpy中的shape函數(shù)的用法詳解
shape函數(shù)的功能是讀取矩陣的長度,比如shape[0]就是讀取矩陣第一維度的長度,相當(dāng)于行數(shù)。它的輸入?yún)?shù)可以是一個整數(shù)表示維度,也可以是一個矩陣。shape函數(shù)返回的是一個元組,表示數(shù)組(矩陣)的維度,例子如下:
1. 數(shù)組(矩陣)只有一個維度時,shape只有shape[0],返回的是該一維數(shù)組(矩陣)中元素的個數(shù),通俗點說就是返回列數(shù),因為一維數(shù)組只有一行,一維情況中array創(chuàng)建的可以看做list(或一維數(shù)組),創(chuàng)建時用()和[ ]都可以,多維就不可以這樣子了,這里使用[ ],請看下例:
>>> 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 #最后報錯是因為一維數(shù)組只有一個維度,可以用a.shape或a.shape[0]來訪問
>>> a=np.array((1,2)) >>> a array([1, 2]) #這個使用的是兩個()包裹,得到的數(shù)組和前面的一樣
2.數(shù)組有兩個維度(即行和列)時,和我們的邏輯思維一樣,a.shape返回的元組表示該數(shù)組的行數(shù)與列數(shù),請看下例:
>>> a=np.array([[1,2],[3,4]]) #注意二維數(shù)組要用()和[]一起包裹起來,鍵入print a 會得到一個用2個[]包裹的數(shù)組(矩陣)
>>> 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.當(dāng)數(shù)組是三維時,要用一個()和兩個[]包裹起來,鍵入print a 會得到一個用3個[]包裹的數(shù)組(矩陣),請看下例:
>>> a=np.array([[[1,2],[3,4]]])
>>> a
array([[[1, 2],
[3, 4]]])
>>> a.shape
(1L, 2L, 2L)
這里返回的元組表示3個維度各包含的元素的個數(shù)。
所謂元素,在一維時就是元素的個數(shù),二維時表示行數(shù)和列數(shù),三維時a.shape【0】表示創(chuàng)建的塊數(shù),a.shape【1】和a.shape【2】表示每一塊(每一塊都是二維的)的行數(shù)和列數(shù),舉個例子:
>>> a=np.ones([2,2,3])#創(chuàng)建兩個2行3列的數(shù)組(矩陣)
>>> a
array([[[ 1., 1., 1.],
[ 1., 1., 1.]],
[[ 1., 1., 1.],
[ 1., 1., 1.]]])
總結(jié):使用np.array()創(chuàng)建數(shù)組時,
一維的可以直接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]]]
外面有三個[]包裹;
對于更高維的情況以后再研究
到此這篇關(guān)于Numpy中的shape函數(shù)的用法詳解的文章就介紹到這了,更多相關(guān)Numpy shape函數(shù)用法內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
python使用response.read()接收json數(shù)據(jù)的實例
今天小編就為大家分享一篇python使用response.read()接收json數(shù)據(jù)的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-12-12
numpy求矩陣的特征值與特征向量(np.linalg.eig函數(shù)用法)
這篇文章主要介紹了numpy求矩陣的特征值與特征向量(np.linalg.eig函數(shù)用法),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-02-02
PyQT實現(xiàn)菜單中的復(fù)制,全選和清空的功能的方法
今天小編就為大家分享一篇PyQT實現(xiàn)菜單中的復(fù)制,全選和清空的功能的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-06-06
Python學(xué)習(xí)之文件的創(chuàng)建與寫入詳解
本文主要介紹了Python中關(guān)于文件的處理,即如何創(chuàng)建、讀寫一個文件,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2022-03-03
Pandas?Matplotlib保存圖形時坐標(biāo)軸標(biāo)簽太長導(dǎo)致顯示不全問題的解決
在使用matplotlib作圖的時候,有的時候會遇到畫圖時顯示不全和圖片保存時不完整的問題,這篇文章主要給大家介紹了關(guān)于Pandas?Matplotlib保存圖形時坐標(biāo)軸標(biāo)簽太長導(dǎo)致顯示不全問題的解決方法,需要的朋友可以參考下2022-06-06
Django 拼接兩個queryset 或是兩個不可以相加的對象實例
這篇文章主要介紹了Django 拼接兩個queryset 或是兩個不可以相加的對象實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-03-03
解決python3插入mysql時內(nèi)容帶有引號的問題
今天小編就為大家分享一篇解決python3插入mysql時內(nèi)容帶有引號的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-03-03

