欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

 更新時(shí)間:2022年07月24日 15:18:13   作者:wamg瀟瀟  
本文主要介紹了Numpy中的shape、reshape函數(shù)的區(qū)別,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧

 1 shape()函數(shù) 

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

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

1. 數(shù)組(矩陣)只有一個(gè)維度時(shí),shape只有shape[0],返回的是該一維數(shù)組(矩陣)中元素的個(gè)數(shù),通俗點(diǎn)說(shuō)就是返回列數(shù),因?yàn)橐痪S數(shù)組只有一行,一維情況中array創(chuàng)建的可以看做list(或一維數(shù)組),創(chuàng)建時(shí)用()和[ ]都可以,多維就使用[ ]

>>> a=np.array([1,2])
>>> a
array([1, 2])
>>> a.shape
(2L,)
>>> a.shape[0]
2L
>>> a.shape[1]
IndexError: tuple index out of range   #最后報(bào)錯(cuò)是因?yàn)橐痪S數(shù)組只有一個(gè)維度,可以用a.shape或a.shape[0]來(lái)訪問(wèn)
 
#這個(gè)使用的是兩個(gè)()包裹,得到的數(shù)組和前面的一樣
>>> a=np.array((1,2))
>>> a
array([1, 2]) 

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

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

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

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

二維的要使用np.array([[1,2,3],[1,2,3]]),用一個(gè)()和一個(gè)[]把要輸入的list包裹起來(lái)

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

>>> a=np.array([[[1,2],[3,4]]])
>>> a
array([[[1, 2],
        [3, 4]]])
>>> a.shape
(1L, 2L, 2L)

返回的元組表示3個(gè)維度各包含的元素的個(gè)數(shù)。所謂元素,在一維時(shí)就是元素的個(gè)數(shù),二維時(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)建兩個(gè)2行3列的數(shù)組(矩陣)
>>> a
array([[[ 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個(gè)數(shù)使用(2,3)重新排列時(shí),python會(huì)報(bào)錯(cuò)

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ù)組使用的是同一個(gè)存儲(chǔ)空間,改變一個(gè),另一個(gè)也隨之改變。

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

【參考】

Python:numpy中shape和reshape的用法 

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

相關(guān)文章

  • 關(guān)于Python字符編碼與二進(jìn)制不得不說(shuō)的一些事

    關(guān)于Python字符編碼與二進(jìn)制不得不說(shuō)的一些事

    這篇文章主要給大家介紹了關(guān)于Python字符編碼與二進(jìn)制不得不說(shuō)的一些事,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-10-10
  • numpy.array 操作使用簡(jiǎn)單總結(jié)

    numpy.array 操作使用簡(jiǎn)單總結(jié)

    這篇文章主要介紹了numpy.array 操作使用簡(jiǎn)單總結(jié),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-11-11
  • 深度解析Django REST Framework 批量操作

    深度解析Django REST Framework 批量操作

    這篇文章主要介紹了深度解析Django REST Framework批量操作,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-05-05
  • python中的round()函數(shù)用法詳解

    python中的round()函數(shù)用法詳解

    這篇文章主要給大家介紹了關(guān)于python中round()函數(shù)用法的相關(guān)資料,round()函數(shù)是Python內(nèi)置函數(shù)之一,用于對(duì)數(shù)字進(jìn)行四舍五入操作,需要的朋友可以參考下
    2023-08-08
  • ansible作為python模塊庫(kù)使用的方法實(shí)例

    ansible作為python模塊庫(kù)使用的方法實(shí)例

    ansible是一個(gè)python package,是個(gè)完全的unpack and play軟件,對(duì)客戶端唯一的要求是有ssh有python,并且裝了python-simplejson包,部署上簡(jiǎn)單到發(fā)指。下面這篇文章就給大家主要介紹了ansible作為python模塊庫(kù)使用的方法實(shí)例,需要的朋友可以參考借鑒。
    2017-01-01
  • Python數(shù)據(jù)結(jié)構(gòu)與算法之算法分析詳解

    Python數(shù)據(jù)結(jié)構(gòu)與算法之算法分析詳解

    算法分析的主要目標(biāo)是從運(yùn)行時(shí)間和內(nèi)存空間消耗等方面比較算法。本文將為大家詳細(xì)介紹Python數(shù)據(jù)結(jié)構(gòu)與算法中的算法分析,需要的可以參考一下
    2021-12-12
  • 在Django中創(chuàng)建動(dòng)態(tài)視圖的教程

    在Django中創(chuàng)建動(dòng)態(tài)視圖的教程

    這篇文章主要介紹了在Django中創(chuàng)建動(dòng)態(tài)視圖的教程,Django是Python重多人氣框架中最為著名的一個(gè),需要的朋友可以參考下
    2015-07-07
  • 詳解Python中鍵盤鼠標(biāo)的相關(guān)操作

    詳解Python中鍵盤鼠標(biāo)的相關(guān)操作

    pyautogui模塊,規(guī)范一點(diǎn)大寫就是PyAutoGUI模塊,是用來(lái)實(shí)現(xiàn)自動(dòng)化腳本的一個(gè)十分得力的小助手。他可以操控鍵盤和鼠標(biāo),可以寫許多工具。本文就來(lái)講講如何利用這個(gè)模塊實(shí)現(xiàn)鍵盤鼠標(biāo)的相關(guān)操作,需要的可以參考一下
    2023-01-01
  • python scipy.misc.imsave()函數(shù)的用法說(shuō)明

    python scipy.misc.imsave()函數(shù)的用法說(shuō)明

    這篇文章主要介紹了python scipy.misc.imsave()函數(shù)的用法說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2021-05-05
  • python 獲取字典鍵值對(duì)的實(shí)現(xiàn)

    python 獲取字典鍵值對(duì)的實(shí)現(xiàn)

    這篇文章主要介紹了python 獲取字典鍵值對(duì)的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-11-11

最新評(píng)論