<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          Python入門系列之初識Numpy

          共 3050字,需瀏覽 7分鐘

           ·

          2022-01-14 22:58

          點(diǎn)擊上方 藍(lán)字 關(guān)注我們!




          Numpy是Python中較為常用的模塊,今天我們就從Numpy的基礎(chǔ)應(yīng)用講起,非常適合0基礎(chǔ)的小白哦,python系列的基礎(chǔ)課程也會持續(xù)更新。

          首先,我們在運(yùn)用某個模塊之前需要先導(dǎo)入這個模塊。

          import numpynumpy.__version__


          詳解Python列表List


          創(chuàng)建一個數(shù)值型的列表

          L?=?list(range(10))L# [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]type(L[0])# int

          創(chuàng)建一個字符串列表

          L2 = [str(c) for c in L]L2#?['0',?'1',?'2',?'3',?'4',?'5',?'6',?'7',?'8',?'9']#?查看數(shù)據(jù)類型type(L2[0])# str

          創(chuàng)建一個異構(gòu)列表

          什么是異構(gòu)列表?因?yàn)镻ython動態(tài)類型特征,所以list里面的元素可以是不同類型,如下所示

          L3 = [True, "2", 3.0, 4][type(item)?for?item?in?L3]# [bool, str, float, int]

          那么這個動態(tài)的列表和固定類型的Numpy數(shù)組之間的區(qū)別是什么呢?請看下圖,數(shù)組基本上包括一個指向連續(xù)數(shù)據(jù)塊的指針;而列表包含一個指向指針塊的指針,其中每一個指針對應(yīng)一個完整的Python對象,因此列表可以用不同的數(shù)據(jù)類型進(jìn)行填充。

          怎么去理解上面這些專業(yè)術(shù)語呢?換句話來說,就是Array數(shù)組整個數(shù)據(jù)塊共用一個指針,而List每一個元素都有一個指針,所以List具有多元動態(tài)性!



          Python中的數(shù)組Array的數(shù)據(jù)類型介紹


          首先,我們先來了解下Python中Numpy的標(biāo)準(zhǔn)數(shù)據(jù)類型,如下表所示,包括了整型,浮點(diǎn)型,布爾值等多種類型,可以根據(jù)自己的需求選擇相應(yīng)的數(shù)據(jù)類型。



          運(yùn)用Numpy模塊創(chuàng)建簡單的Array


          Python中內(nèi)置的數(shù)組(array)模塊可用于創(chuàng)建統(tǒng)一類型的密集數(shù)組,代碼里的‘i’是一個動態(tài)類型碼,表示數(shù)據(jù)為整型。

          import arrayL = list(range(10))A = array.array('i', L)A# output array('i', [0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
          另外,我們可以給Python的模塊取個別名,方便我們之后調(diào)用,如下代碼示例。
          import numpy as np
          # 創(chuàng)建一個integer類型的數(shù)組:np.array([1,?4,?2,?5,?3])
          Python中的Numpy模塊不同于List,其要求數(shù)組必須是同一類型的數(shù)據(jù),如果數(shù)據(jù)類型不匹配,Numpy會向上轉(zhuǎn)換,詳細(xì)情況請看如下示例。
          np.array([3.14, 4, 2, 3])# array([ 3.14,  4.  ,  2.  ,  3.  ])
          該示例中,將整型的4,2,3強(qiáng)行轉(zhuǎn)換為float浮點(diǎn)型的數(shù)據(jù)。

          如果你希望明確的設(shè)置數(shù)組的數(shù)據(jù)類型,請使用dtype關(guān)鍵字。
          np.array([1, 2, 3, 4], dtype='float32')# array([ 1.,  2.,  3.,  4.], dtype=float32)

          利用python創(chuàng)建多嵌套數(shù)組。
          #?通過循環(huán)體創(chuàng)建多維數(shù)組np.array([range(i, i + 3) for i in [2, 4, 6]])
          array([[2,?3,?4], [4, 5, 6], [6, 7, 8]])

          運(yùn)用Numpy模塊和內(nèi)置函數(shù)高效創(chuàng)建Array


          np.zeros ()創(chuàng)建數(shù)值為0的數(shù)組

          np.zeros(10, dtype=int)# array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0])
          np.ones()創(chuàng)建值為1的數(shù)組
          np.ones((3, 5), dtype=float)# array([[ 1.,  1.,  1.,  1.,  1.],#        [ 1.,  1.,  1.,  1.,  1.],#        [ 1.,  1.,  1.,  1.,  1.]])
          np.full()創(chuàng)建任意值的數(shù)組
          np.full((3,?5),?3.14)
          array([[?3.14,??3.14,??3.14,??3.14,??3.14],???????[?3.14,??3.14,??3.14,??3.14,??3.14], [ 3.14, 3.14, 3.14, 3.14, 3.14]])
          np.arange()創(chuàng)建一個現(xiàn)行序列數(shù)組
          下列示例的具體含義為創(chuàng)建一個從0開始到20結(jié)束,步長為2的數(shù)組。
          np.arange(0,?20,?2)# array([ 0,  2,  4,  6,  8, 10, 12, 14, 16, 18])
          np.linspace()創(chuàng)建一個5個元素的數(shù)組,這5個數(shù)均勻地分配到0-1
          np.linspace(0, 1, 5)# array([ 0.  ,  0.25,  0.5 ,  0.75,  1.  ])
          np.random.random()創(chuàng)建在0-1之間均勻分布的隨機(jī)數(shù)組成的數(shù)組
          np.random.random((3, 3))# array([[ 0.99844933,  0.52183819,  0.22421193],#        [ 0.08007488,  0.45429293,  0.20941444],#???????[?0.14360941,??0.96910973,??0.946117??]])
          np.random.normal()創(chuàng)建正太分布的隨機(jī)數(shù)組
          np.random.normal(0, 1, (3, 3))# array([[ 1.51772646,  0.39614948, -0.10634696],#        [ 0.25671348,  0.00732722,  0.37783601],#        [ 0.68446945,  0.15926039, -0.70744073]])
          np.random.randint()創(chuàng)建隨機(jī)整型數(shù)組
          np.random.randint(0, 10, (3, 3))# array([[2, 3, 4],#        [5, 7, 8],#        [0, 5, 0]])
          np.eye()創(chuàng)建單位矩陣
          np.eye(3)# array([[ 1.,  0.,  0.],#        [ 0.,  1.,  0.],#???????[?0.,??0.,??1.]])
          np.empty()創(chuàng)建整型數(shù)組成的未初始化的數(shù)組,數(shù)組的值是內(nèi)存空間內(nèi)的任意的值。
          np.empty(3)# array([ 1.,  1.,  1.])



          相關(guān)閱讀:


          瀏覽 53
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評論
          圖片
          表情
          推薦
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  狼人永久地址在线观看高清无码 | 亚洲成人人体艺术在线观看 | 骚美女被操 | 国产福利1000 | 婷婷精品视频在线 |