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

          介紹 NumPy 的五種玩法

          共 579字,需瀏覽 2分鐘

           ·

          2020-11-09 02:15

          Python與算法社區(qū)
          已原創(chuàng)427篇,干貨滿滿
          值得星標(biāo)


          01

          02

          03


          三步加星標(biāo)





          圖解入門 NumPy,這篇文章,已經(jīng)讓我們感知到NumPy的強(qiáng)大,但要想真正用活NumPy,還不夠!下面介紹五種玩法,以此深入掌握NumPy:


          1. 記住NumPy中文網(wǎng)站:https://www.numpy.org.cn/,里面包括NumPy 的官檔中文版,使用入門,實(shí)戰(zhàn)等。


          里面包括NumPy官檔最詳細(xì)的一個(gè)中文翻譯,地址為:

          https://www.numpy.org.cn/reference/

          平時(shí)遇到關(guān)于NumPy的bug,解決不了的,可以先去這里查看API的使用說明。


          2. 理解NumPy的向量化能力,這正是賦予它簡(jiǎn)潔的重要原因之一。使用Python原生API會(huì)經(jīng)常寫些for,但是NumPy讓它變得不再需要,NumPy一切都是按照向量計(jì)算。如下計(jì)算小于3的元素置0,否則置為1:

          #?使用Python原生
          a?=?[10,4,-6,3,5,1]
          #?小于3的元素置為0,不小于3的元素置為1
          b?=?[]
          for?i?in?a:
          ????b.append(0?if?i?3?else?1)
          print(b)

          使用 NumPy 的where方法,語法更加簡(jiǎn)潔,看不到for語句,符合Python哲學(xué):

          #?使用NumPy
          na?=?np.array(a)
          #?一行代碼
          b?=?np.where(na?3,?0,?1)
          print(b)

          3. 處理多維數(shù)組,NumPy的索引和切片更強(qiáng)大,如下 na < 3 得到布爾索引,一切都按照向量化操作:
          na?=?np.array([10,4,-6,3,5,1])
          na[na?3]
          #?結(jié)果如下:
          #?array([-6,??1])
          #?創(chuàng)建二維數(shù)組
          np.random.randint(1,10,size=(3,4))
          c2?=?np.random.randint(1,10,size=(3,4))
          c2
          array([[3,?2,?9,?9],
          ???????[9,?5,?2,?4],
          ???????[8,?1,?2,?4]])
          #?更強(qiáng)大簡(jiǎn)潔的切片功能:
          c2[:2,1:3]
          array([[2,?9],
          ???????[5,?2]])

          4. 學(xué)習(xí)NumPy,不可能不與廣播打交道,廣播機(jī)制必須要理解,關(guān)于它的規(guī)則可參考:

          https://www.numpy.org.cn/article/basics/python_numpy_tutorial.html#%E5%B9%BF%E6%92%AD-broadcasting

          5. NumPy往往是數(shù)據(jù)分析、機(jī)器學(xué)習(xí)、深度學(xué)習(xí)相關(guān)框架的底層框架,NumPy在這方面的實(shí)戰(zhàn),都有哪些呢?

          在這里推薦一個(gè)純NumPy實(shí)現(xiàn)各種常見機(jī)器學(xué)習(xí)、深度學(xué)習(xí)算法的github庫,地址為:

          https://github.com/ddbourgin/numpy-ml


          此庫里有各種常見機(jī)器學(xué)習(xí)算法,神經(jīng)網(wǎng)絡(luò)模型,優(yōu)化器,各種激活函數(shù)的純NumPy實(shí)現(xiàn)方法。沒事研究一下,既能提高NumPy技能,還能掌握常見AI算法,一舉兩得!


          過往20篇專題匯總為PDF:適合小白學(xué)習(xí)的 20 個(gè) Python 專題,需要的可微信我:

          不必打賞
          給我點(diǎn)個(gè)贊
          就心滿意足了
          瀏覽 123
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

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

          手機(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>
                  免费直接观看的黄色 | www.久久99 | 亚洲欧美精品AAAAAA片 | 人人看人人摸人人射 | 黄色片大全在线 |