<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>

          數(shù)據(jù)分析教材系列:Numpy常用知識點匯總

          共 5722字,需瀏覽 12分鐘

           ·

          2021-03-14 11:19


          本文目錄






          定義









          數(shù)組類型



          基本類型




          類型轉(zhuǎn)換


             In:

          j = np.arange(3)  
          print(j)
          print('查看數(shù)據(jù)類型:\n',j.dtype)
          print('-'*20)
          g = j.astype('float'#轉(zhuǎn)換為float類型
          print('查看轉(zhuǎn)換后類型:\n',g.dtype)

            Out:

          [0 1 2]
          查看數(shù)據(jù)類型:
           int64
          --------------------
          查看轉(zhuǎn)換后類型:
           float64






          數(shù)組操作



          創(chuàng)建數(shù)組


             In:

          #方法一、將列表或元組傳入np.array()來創(chuàng)建
          print(np.array([1,2,3])) 
          #方法二、初始化數(shù)組的值,只需傳入元素個數(shù)即可
          print(np.ones(3))
          print(np.zeros(3))
          print(np.random.random(3))

            Out:
          [1 2 3]
          [1. 1. 1.]
          [0. 0. 0.]
          [0.71318806 0.95903425 0.75384478]


          數(shù)組運算


          In:
          #首先創(chuàng)建兩個數(shù)組
          data1 = np.array([1,2])
          data2 = np.ones(2)
          print(data1,data2)
          Out:
          [1 2] [1. 1.]

          In:
          #數(shù)組間加減乘除
          jia = data1+data2
          jian = data1-data2
          cheng = data1*data2
          chu = data1/data2
          #數(shù)組與單個數(shù)值的操作
          shuzhi1 = data1*100
          shuzhi2 = data1/100
          print(jia,jian,cheng,chu,shuzhi1,shuzhi2)
          Out:
          [2. 3.] [0. 1.] [1. 2.] [1. 2.] [100 200] [0.01 0.02]


          數(shù)組切片


          In:
          #類似列表操作進行索引和切片
          data3 = np.array([1,2,3,4,5])
          print(data3)
          print(data3[0])
          print(data3[2:4])
          print(data3[2:])
          print(data3[:4])
          Out:
          [1 2 3 4 5]
          1
          [3 4]
          [3 4 5]
          [1 2 3 4]


          聚合函數(shù)


          In:
          data4 = np.array([1,2,3,4,5])
          print(data4.max()) #最大值
          print(data4.min()) #最小值
          print(data4.mean()) #均值
          print(data4.sum()) #求和
          print(data4.std()) #標(biāo)準(zhǔn)差
          Out:
          5
          1
          3.0
          15
          1.4142135623730951





          矩陣操作



          創(chuàng)建矩陣


          In:
          #方法一、通過將二維列表傳給Numpy來創(chuàng)建矩陣
          print(np.array([[1,2],[3,4]]))
          #方法二、傳入一個元組來描述矩陣的維度
          print(np.ones((3,2))) #3行2列矩陣
          print(np.zeros((3,2))) 
          print(np.random.random((3,2))) 
          Out:
          [[1 2]
           [3 4]]
          [[1. 1.]
           [1. 1.]
           [1. 1.]]
          [[0. 0.]
           [0. 0.]
           [0. 0.]]
          [[0.2928769  0.24093443]
           [0.06189287 0.62359846]
           [0.80539105 0.81706549]]


          矩陣運算


          In:
          #相同大小矩陣的加減乘除
          data5 = np.array([[1,2],[3,4]])
          data6 = np.ones((2,2))
          jia1 = data5 + data6
          cheng1 = data5 * data6
          print(jia1,'\n',cheng1)
          Out:
          [[2. 3.]
           [4. 5.]] 
           [[1. 2.]
           [3. 4.]]

          In:
          #不同大小矩陣的加減乘除(僅兩個矩陣秩數(shù)為1時)
          data7 = np.array([[1,2],[3,4],[5,6]])
          data8_1 = np.ones((1,2)) #行秩為1
          data8_2 = np.ones((3,1)) #列秩為1
          print(data7 + data8_1)
          print('-'*20)
          print(data7 + data8_2)
          Out:
          [[2. 3.]
           [4. 5.]
           [6. 7.]]
          --------------------
          [[2. 3.]
           [4. 5.]
           [6. 7.]]

          In:
          #矩陣乘法,dot()方法
          data9 = np.array([[1,2,3]]) #1*3的矩陣
          data10 = np.array([[1,2],[3,4],[5,6]]) #3*2的矩陣
          data11 = data9.dot(data10) #1*2的矩陣
          print(data11)
          Out:
          [[22 28]]


          矩陣切片和聚合


          In:
          #可以在不同維度上使用索引操作來對數(shù)據(jù)進行切片
          data12 = np.array([[1,2],[3,4],[5,6]])
          print(data12)
          print(data12[0,1]) #1行2列數(shù)據(jù)
          print(data12[1:3]) #2-3行
          print(data12[0:2,0]) #1-2行,1列
          Out:
          [[1 2]
           [3 4]
           [5 6]]
          2
          [[3 4]
           [5 6]]
          [1 3]

          In:
          #可以像聚合向量一樣聚合矩陣
          print(data12.max())
          print(data12.min())
          print(data12.sum())
          print(data12.mean())
          print(data12.std())
          #還可以使用axis參數(shù)指定行和列的聚合
          print(data12.max(axis = 0)) #縱向執(zhí)行
          print(data12.max(axis = 1)) #橫向執(zhí)行
          Out:
          6
          1
          21
          3.5
          1.707825127659933
          [5 6]
          [2 4 6]


          矩陣轉(zhuǎn)置和重構(gòu)


          In:
          #NumPy數(shù)組的屬性T可用于獲取矩陣的轉(zhuǎn)置
          print('轉(zhuǎn)置前:\n',data12)
          print('轉(zhuǎn)置后:\n',data12.T)
          Out:
          轉(zhuǎn)置前:
           [[1 2]
           [3 4]
           [5 6]]
          轉(zhuǎn)置后:
           [[1 3 5]
           [2 4 6]]


          In:

          #在較為復(fù)雜的用例中,可能需要使用NumPy的reshape()方法改變某個矩陣的維度
          data13 = np.array([1,2,3,4,5,6])
          print('重構(gòu)前:\n',data13)
          print('重構(gòu)后:\n',data13.reshape(2,3))
          print('重構(gòu)后:\n',data13.reshape(3,2))

          Out:

          重構(gòu)前:
           [1 2 3 4 5 6]
          重構(gòu)后:
           [[1 2 3]
           [4 5 6]]
          重構(gòu)后:
           [[1 2]
           [3 4]
           [5 6]]


          In:

          #上文中的所有功能都適用于多維數(shù)據(jù),其中心數(shù)據(jù)結(jié)構(gòu)稱為ndarray(N維數(shù)組)
          data14 = np.array([[[1,2],[3,4]],[[5,6],[7,8]]])
          print(data14)
          print('-'*20)
          #改變維度只需在NumPy函數(shù)的參數(shù)中添加一個逗號和維度
          print(np.ones((4,3,2)))
          print('-'*20)
          print(np.zeros((4,3,2)))
          print('-'*20)
          print(np.random.random((4,3,2)))

          Out:

          [[[1 2]
            [3 4]]

           [[5 6]
            [7 8]]]
          --------------------
          [[[1. 1.]
            [1. 1.]
            [1. 1.]]

           [[1. 1.]
            [1. 1.]
            [1. 1.]]

           [[1. 1.]
            [1. 1.]
            [1. 1.]]

           [[1. 1.]
            [1. 1.]
            [1. 1.]]]
          --------------------
          [[[0. 0.]
            [0. 0.]
            [0. 0.]]

           [[0. 0.]
            [0. 0.]
            [0. 0.]]

           [[0. 0.]
            [0. 0.]
            [0. 0.]]

           [[0. 0.]
            [0. 0.]
            [0. 0.]]]
          --------------------
          [[[0.37593802 0.42651876]
            [0.74639264 0.19783467]
            [0.787414   0.63820259]]

           [[0.84871262 0.46467497]
            [0.54633954 0.4376995 ]
            [0.71988166 0.9306682 ]]

           [[0.6384108  0.74196991]
            [0.73857164 0.38450555]
            [0.68579442 0.64018511]]

           [[0.60382775 0.35889667]
            [0.8625612  0.86523028]
            [0.83701853 0.08289658]]]






          公式應(yīng)用





          In:

          #在NumPy中可以很容易地實現(xiàn)均方誤差。
          np_1 = np.ones(3)
          np_2 = np.array([1,2,3])
          error = (1/3) * np.sum(np.square(np_1 - np_2))
          print(error)

          Out:

          1.6666666666666665






          表示日常數(shù)據(jù)




          電子表格和數(shù)據(jù)表




          音頻和時間序列




          圖像


          黑白圖像


          彩色圖像



          相關(guān)閱讀:


          瀏覽 43
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <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>
                  国产毛片精品一区二区色欲黄A片 | 一卡二卡三卡高清无码视频 | 无码精品ThePorn | 操小穴日韩视频 | 国产传媒天美果冻精品亚洲一区二区三区直播 |