亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

對(duì)numpy中shape的深入理解

 更新時(shí)間:2018年06月15日 10:12:52   作者:by_study  
今天小編就為大家分享一篇對(duì)numpy中shape的深入理解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧

環(huán)境:Windows, Python2.7

一維情況:

<span style="font-size:14px;">>>> import numpy as np 
>>> a = np.array([2,3,33]) 
>>> a 
array([ 2 3 33 ]) 
>>> print a 
[ 2 3 33 ] 
>>> a.shape 
(3, )</span> 

一維情況中array創(chuàng)建的可以看做list(或一維數(shù)組),創(chuàng)建時(shí)用()和[ ]都可以,多維也一樣,兩種方法創(chuàng)建后的輸出顯示結(jié)果也相同,這里使用[ ]進(jìn)行創(chuàng)建

輸出a的shape會(huì)顯示一個(gè)參數(shù),就是這個(gè)list中元素個(gè)數(shù)

創(chuàng)建時(shí)也可以直接使用np.zeros([1]),這樣會(huì)創(chuàng)建全0的list,或者np.ones([1]),不需要我們輸入數(shù)據(jù),見(jiàn)下圖:

<span style="font-size:14px;">>>> a = np.zeros([1]) 
>>> b = np.ones([1]) 
>>> print a 
[ 0. ] 
>>> print b 
[ 1. ]</span> 

二維情況:

<span style="font-size:14px;">>>> a = np.array([[2,2,2],[3,3,3]]) 
>>> print a 
[[ 2 2 2 ] 
 [ 3 3 3 ]] 
>>> a.shape 
(2, 3)</span> 

二維情況中array創(chuàng)建的可以看做二維數(shù)組(矩陣),注意創(chuàng)建時(shí)需要使用2個(gè)[ ],輸出a的shape顯示的(2,3)相當(dāng)于有2行,每行3個(gè)數(shù),使用np.ones創(chuàng)建結(jié)果如下:

<span style="font-size:14px;">>>> a = np.ones([2, 3]) >>> print a [[ 1. 1. 1. ] [ 1. 1. 1. ]]</span>

多維情況:

多維情況統(tǒng)一使用np.ones進(jìn)行創(chuàng)建,先看三維情況:

<span style="font-size:14px;">>>> a = np.ones([1,1,1]) 
>>> print a 
[[[ 1.]]] 
>>> a = np.ones([1,1,2]) 
>>> print a 
[[[ 1. 1.]]] 
>>> a = np.ones([1,2,1]) 
>>> print a 
[[[ 1.] 
 [ 1.]]] 
>>> a = np.ones([2,1,1]) 
>>> print a 
[[[ 1.]] 
 
 [[ 1.]]]</span> 

從上面的代碼可以看出,三維情況創(chuàng)建時(shí)后面2個(gè)參數(shù)可以看做是創(chuàng)建二維數(shù)組,第1個(gè)參數(shù)看做創(chuàng)建的二維數(shù)組的個(gè)數(shù),所以創(chuàng)建時(shí)輸入的參數(shù)為2,3,2時(shí),就相當(dāng)于創(chuàng)建了2個(gè)3行2列的二維數(shù)組,如下:

<span style="font-size:14px;">>>> a = np.ones([2,3,2]) 
>>> print a 
[[[ 1. 1.] 
 [ 1. 1.] 
 [ 1. 1.]] 
 
 [[ 1. 1.] 
 [ 1. 1.] 
 [ 1. 1.]]]</span> 

然后看四維情況:

<span style="font-size:14px;">>>> a = np.ones([1,1,1,1]) 
>>> print a 
[[[[ 1.]]]] 
>>> a = np.ones([1,1,1,2]) 
>>> print a 
[[[[ 1. 1.]]]] 
>>> a = np.ones([1,1,2,1]) 
>>> print a 
[[[[ 1.] 
 [ 1.]]]] 
>>> a = np.ones([1,2,1,1]) 
>>> print a 
[[[[ 1.]] 
 
 [[ 1.]]]] 
>>> a = np.ones([2,1,1,1]) 
>>> print a 
[[[[ 1.]]] 
 
 
 [[[ 1.]]]]</span> 

從上面代碼可以看出:四維時(shí)將第一個(gè)參數(shù)設(shè)置為2和第二個(gè)參數(shù)設(shè)置為2時(shí),輸出結(jié)果中間的空行數(shù)量不同,我把它理解成先創(chuàng)建1行1列的二維數(shù)組[[ 1. ]],然后按照第2個(gè)參數(shù)打包這樣的二維數(shù)組,如果第二個(gè)參數(shù)是2,則打包2個(gè)2維數(shù)組變成[[[ 1. ]],[[ 1. ]]](小包),然后按照第1個(gè)參數(shù)再打包這樣的包,如果第一個(gè)參數(shù)是2,則變成[[[[ 1. ]], [[ 1. ]]], [[[ 1. ]], [[ 1. ]]]](大包),就是下面的結(jié)果:

<span style="font-size:14px;">>>> a = np.ones([2,2,1,1]) 
>>> print a 
[[[[ 1.]] 
 
 [[ 1.]]] 
 
 
 [[[ 1.]] 
 
 [[ 1.]]]]</span> 

四維以上的結(jié)果也是這么理解~輸出中區(qū)分參數(shù)用空行~

然后來(lái)看一下特定輸出:

>>> import numpy as np
>>> m = np.ones([2,3,2,3])
>>> print m
[[[[ 1. 1. 1.]
 [ 1. 1. 1.]]
 [[ 1. 1. 1.]
 [ 1. 1. 1.]]
 [[ 1. 1. 1.]
 [ 1. 1. 1.]]]
 [[[ 1. 1. 1.]
 [ 1. 1. 1.]]
 [[ 1. 1. 1.]
 [ 1. 1. 1.]]
 [[ 1. 1. 1.]
 [ 1. 1. 1.]]]]
>>> print m[1,:,:,:]
[[[ 1. 1. 1.]
 [ 1. 1. 1.]]
 [[ 1. 1. 1.]
 [ 1. 1. 1.]]
 [[ 1. 1. 1.]
 [ 1. 1. 1.]]]
>>> print m[:,1,:,:]
[[[ 1. 1. 1.]
 [ 1. 1. 1.]]
 [[ 1. 1. 1.]
 [ 1. 1. 1.]]]
>>> print m[:,:,1,:]
[[[ 1. 1. 1.]
 [ 1. 1. 1.]
 [ 1. 1. 1.]]
 [[ 1. 1. 1.]
 [ 1. 1. 1.]
 [ 1. 1. 1.]]]
>>> print m[:,:,:,1]
[[[ 1. 1.]
 [ 1. 1.]
 [ 1. 1.]]
 [[ 1. 1.]
 [ 1. 1.]
 [ 1. 1.]]]

前面print m很好理解~

然后print m[1,:,:,:],:代表默認(rèn)值(就是一開(kāi)始你輸入時(shí)指定的值),這句代碼相當(dāng)于輸出2個(gè)包中的第1個(gè)包(從0開(kāi)始計(jì)數(shù)),這個(gè)包里面有3個(gè)小包,小包里面是2*3的二維數(shù)組,所以結(jié)果就是上面的~

然后print m[:,1,:,:],相當(dāng)于輸出2個(gè)大包,每個(gè)大包輸出第1個(gè)小包,小包里面是2*3的二維數(shù)組

然后print m[:,:,1,:],相當(dāng)于輸出2個(gè)大包,每個(gè)大包輸出3個(gè)小包,小包里面是二維數(shù)組的第1行

然后print m[:,:,:,1],相當(dāng)于輸出2個(gè)大包,每個(gè)大包輸出3個(gè)小包,小包里面是1*2的二維數(shù)組

其他結(jié)果可以自己去試試~

總結(jié):采用np.array()創(chuàng)建時(shí)需要幾個(gè)維度就要用幾個(gè)[ ]括起來(lái),這種創(chuàng)建方式要給定數(shù)據(jù);采用np.ones()或np.zeros()創(chuàng)建分別產(chǎn)生全1或全0的數(shù)據(jù),用a.shape會(huì)輸出你創(chuàng)建時(shí)的輸入,創(chuàng)建時(shí)輸入了幾個(gè)維度輸出就會(huì)用幾個(gè)[ ]括起來(lái),shape的返回值是一個(gè)元組,里面每個(gè)數(shù)字表示每一維的長(zhǎng)度

以上這篇對(duì)numpy中shape的深入理解就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Python?tuple方法和string常量介紹

    Python?tuple方法和string常量介紹

    這篇文章主要介紹了Python?tuple方法和string常量,文章基于python的相關(guān)資料展開(kāi)詳細(xì)內(nèi)容,對(duì)初學(xué)python的通知有一定的參考價(jià)值,需要的小伙伴可以參考一下
    2022-05-05
  • Python 打印中文字符的三種方法

    Python 打印中文字符的三種方法

    本文給大家分享三種方法實(shí)現(xiàn)python打印中文字符的方法,代碼簡(jiǎn)單易懂,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友參考下吧
    2018-08-08
  • 基于python的文字轉(zhuǎn)圖片工具示例詳解

    基于python的文字轉(zhuǎn)圖片工具示例詳解

    這篇文章主要介紹了基于python的文字轉(zhuǎn)圖片工具,請(qǐng)求示例是使用?curl?命令請(qǐng)求示例,本文給大家介紹的非常詳細(xì),感興趣的朋友跟隨小編一起看看吧
    2024-08-08
  • 淺談Python中os模塊及shutil模塊的常規(guī)操作

    淺談Python中os模塊及shutil模塊的常規(guī)操作

    這篇文章主要介紹了淺談Python中os模塊及shutil模塊的常規(guī)操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-04-04
  • Python?中的裝飾器實(shí)現(xiàn)函數(shù)的緩存(場(chǎng)景分析)

    Python?中的裝飾器實(shí)現(xiàn)函數(shù)的緩存(場(chǎng)景分析)

    Python中的裝飾器可以用于實(shí)現(xiàn)函數(shù)的緩存,其原理是在函數(shù)執(zhí)行前,首先判斷傳入的參數(shù)是否在緩存中已經(jīng)存在對(duì)應(yīng)的計(jì)算結(jié)果,這篇文章主要介紹了Python?中的裝飾器可以用于實(shí)現(xiàn)函數(shù)的緩存,需要的朋友可以參考下
    2023-02-02
  • 利用Python matplotlib繪制風(fēng)能玫瑰圖

    利用Python matplotlib繪制風(fēng)能玫瑰圖

    這篇文章主要給大家介紹了關(guān)于如何利用Python matplotlib繪制風(fēng)能玫瑰圖的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-03-03
  • 使用Pandas計(jì)算系統(tǒng)客戶名稱的相似度

    使用Pandas計(jì)算系統(tǒng)客戶名稱的相似度

    在日常業(yè)務(wù)處理中,我們經(jīng)常會(huì)面臨將不同系統(tǒng)中的數(shù)據(jù)進(jìn)行匹配和比對(duì)的情況,本文將介紹如何使用Python的Pandas庫(kù)來(lái)處理這個(gè)問(wèn)題,需要的可以參考一下
    2023-07-07
  • Python中sys.stdout方法的語(yǔ)法示例詳解

    Python中sys.stdout方法的語(yǔ)法示例詳解

    Python中sys 模塊中的一個(gè)方法是stdout ,它使用其參數(shù)直接顯示在控制臺(tái)窗口上,print() 方法,它有相同的行為,首先轉(zhuǎn)換為sys.stdout() 方法,然后在控制臺(tái)顯示結(jié)果,本文給大家介紹Python sys.stdout方法的語(yǔ)法,感興趣的朋友一起看看吧
    2023-09-09
  • Python讀大數(shù)據(jù)txt

    Python讀大數(shù)據(jù)txt

    本文通過(guò)2個(gè)例子給大家介紹了如何使用python實(shí)現(xiàn)讀取大文件txt的方法,有需要的小伙伴可以參考下
    2016-03-03
  • numpy中hstack vstack stack concatenate函數(shù)示例詳解

    numpy中hstack vstack stack concatenate函數(shù)示例詳解

    這篇文章主要為大家介紹了numpy中hstack vstack stack concatenate函數(shù)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-02-02

最新評(píng)論