Numpy中得shape、reshape函數(shù)得區(qū)別

    目錄

     1 shape()函數(shù) 

    讀取矩陣得長度,比如shape[0]就是讀取矩陣第一維度得長度,相當(dāng)于行數(shù)。它得輸入?yún)?shù)可以是一個整數(shù)表示維度,也可以是一個矩陣。shape函數(shù)返回得是一個元組tuple,表示數(shù)組(矩陣)得維度/ 形狀,例子如下:

    • w.shape[0]返回得是w得行數(shù)
    • w.shape[1]返回得是w得列數(shù)
    • df.shape():查看行數(shù)和列數(shù)

    1. 數(shù)組(矩陣)只有一個維度時,shape只有shape[0],返回得是該一維數(shù)組(矩陣)中元素得個數(shù),通俗點說就是返回列數(shù),因為一維數(shù)組只有一行,一維情況中array創(chuàng)建得可以看做list(或一維數(shù)組),創(chuàng)建時用()和[ ]都可以,多維就使用[ ]

    >>> a=np.array([1,2])>>> aarray([1, 2])>>> a.shape(2L,)>>> a.shape[0]2L>>> a.shape[1]IndexError: tuple index out of range   #最后報錯是因為一維數(shù)組只有一個維度,可以用a.shape或a.shape[0]來訪問 #這個使用得是兩個()包裹,得到得數(shù)組和前面得一樣>>> a=np.array((1,2))>>> aarray([1, 2]) 

    2.數(shù)組有兩個維度(即行和列)時,a.shape返回得元組表示該數(shù)組得行數(shù)與列數(shù)

     #注意二維數(shù)組要用()和[]一起包裹起來,鍵入print a 會得到一個用2個[]包裹得數(shù)組(矩陣)>>> b=np.array([[1,2,3],[4,5,6]])>>> barray([[1, 2, 3],       [4, 5, 6]])>>> b.shape(2L, 3L)

    總結(jié):使用np.array()創(chuàng)建數(shù)組時,

    一維得可以直接np.array([1,2,3])或者np.array((1,2,3))

    二維得要使用np.array([[1,2,3],[1,2,3]]),用一個()和一個[]把要輸入得list包裹起來

    三維得要使用np.array([[[1,2,3],[1,2,3]]]),用一個()和兩個[]把要輸入得list包裹起來

    >>> a=np.array([[[1,2],[3,4]]])>>> aarray([[[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ù)組(矩陣)>>> aarray([[[ 1.,  1.,  1.],        [ 1.,  1.,  1.]],        [[ 1.,  1.,  1.],        [ 1.,  1.,  1.]]])

    2 reshape()函數(shù)

     改變數(shù)組得形狀,并且原始數(shù)據(jù)不發(fā)生變化。但是,reshape()函數(shù)中得參數(shù)需要滿足乘積等于數(shù)組中數(shù)據(jù)總數(shù).

    如:當(dāng)我們將8個數(shù)使用(2,3)重新排列時,python會報錯

    import numpy as np a=np.array([1,2,3,4])b=np.array([[1,2,3,4],[4,5,6,7],[7,8,9,1]])print("a:n",a)print("b:n",b)print(b.dtype) a_r=a.reshape((2,2))  print("a_r:n",a_r)d=a.reshape((-1,1))print("d:n",d)e=a.reshape((1,-1))print("e:n",e)#結(jié)果如下a: [1 2 3 4]c: [[1 2 3 4] [4 5 6 7] [7 8 9 1]]int32 a_r: [[1 2] [3 4]]d: [[1] [2] [3] [4]]e: [[1 2 3 4]]

    而且,reshape()函數(shù)得出得數(shù)組與原數(shù)組使用得是同一個存儲空間,改變一個,另一個也隨之改變。

    【注意】shape和reshape()函數(shù)都是對于數(shù)組(array)進(jìn)行操作得,對于list結(jié)構(gòu)是不可以得

    【參考】

    Python:numpy中shape和reshape得用法 

    到此這篇關(guān)于Numpy中得shape、reshape函數(shù)得區(qū)別得內(nèi)容就介紹到這了,更多相關(guān)Numpy shape reshape內(nèi)容請搜索之家以前得內(nèi)容或繼續(xù)瀏覽下面得相關(guān)內(nèi)容希望大家以后多多支持之家!

    聲明:所有內(nèi)容來自互聯(lián)網(wǎng)搜索結(jié)果,不保證100%準(zhǔn)確性,僅供參考。如若本站內(nèi)容侵犯了原著者的合法權(quán)益,可聯(lián)系我們進(jìn)行處理。
    發(fā)表評論
    更多 網(wǎng)友評論1 條評論)
    暫無評論

    返回頂部

    主站蜘蛛池模板: 精品无码国产一区二区三区AV| 精品视频午夜一区二区| 婷婷国产成人精品一区二| 国产在线无码视频一区二区三区| 中文字幕乱码亚洲精品一区| 中文字幕一区二区三| 国产成人久久一区二区三区| 精品无码AV一区二区三区不卡| 国产一区视频在线免费观看| 曰韩人妻无码一区二区三区综合部 | 国产丝袜无码一区二区视频| 日本一区二区免费看| www一区二区三区| 国产精品一区二区无线| 亚洲国产欧美一区二区三区| 亚洲一区二区三区日本久久九| 精品成人一区二区三区四区| 国产一区二区三区小向美奈子| 国产乱人伦精品一区二区| 亚洲一区二区三区日本久久九| 精品福利一区二区三| 人妻少妇一区二区三区| 亚洲人成网站18禁止一区| 日本一区二区三区在线网| 国产日韩精品一区二区在线观看播放| 日本免费一区二区三区四区五六区| 肥臀熟女一区二区三区| 亚洲福利视频一区二区| 无码精品久久一区二区三区| 国产一区中文字幕在线观看 | 久久精品无码一区二区三区免费 | 内射白浆一区二区在线观看| 中文字幕无线码一区二区| 91一区二区三区四区五区| 日韩高清国产一区在线| 日本免费一区二区三区| 国产乱码一区二区三区四| 亚洲国产欧美日韩精品一区二区三区| 精品三级AV无码一区| 中字幕一区二区三区乱码| 亚洲综合av一区二区三区|