1. <span id="abflz"><sup id="abflz"></sup></span>
    2. 為了賬號安全,請及時綁定郵箱和手機立即綁定

      Python人工智能常用庫Numpy使用入門

      難度初級
      時長51分
      學習人數
      綜合評分95.7
      60人評價 查看評價
      9.6 內容實用
      9.5 簡潔易懂
      9.6 邏輯清晰
      • 1.需求:將a的每一行和b相加

        1)# 如果數組a比較大的話,使用這種方法會非常低效,因為python中for循環計算比較慢

        for i in range(4):?????# a一共是4行

        a[i,:] += b?????????# 將a的每一行和b相加

        2)# 數組比較大的時候可以私用這種方法

        a + np.tile(b, (4,1))

        3)# 在numpy中使用廣播會更加簡單,下面就是廣播

        # 也就是說我們可以將不同維度的數組進行相加,numpy會自動將數組轉換為相同維度,廣播會在缺失維度和數值為1的維度上進行,這就是numpy廣播特性

        a + b


      • 1.數學運算:

        a + b????????-- ??????np.add(a,b)

        a - b ???????-- ??????np.subtract(a,b)

        a * b ???????-- ??????np.multiply(a,b)

        a / b ???????-- ??????np.divide(a,b)

        np.sqrt(a) ??????????# 上面這些操作是將具有相同大小的數組的元素進行操作,并不是矩陣之間的操作

        a.dot(b) ???????# 矩陣a和矩陣b相乘

        np.dot(a,b) ????# 和上面的效果是一樣的,a的列數和b的行數是一致的

        2.?常用函數:

        np.sum(a) ???# 對數組a的所有元素進行求和

        np.sum(a,axis=0) ???????# 對數組a的每一列進行求和操作

        np.sum(a,axis=1) ????# 對數組的每一行進行求和操作

        np.mean(a) ??????# a中所有元素求和的平均值

        np.mean(a,axis=0) ????# 對數組a的每一列求和的平均值

        np.mean(a,axis=1) ?????# 數組a的每一列的平均值

        np.random.uniform(3,4) ?????# 生成指定范圍內的隨機小數

        tile: 用于將一個數組作為元素重復指定的次數。

        np.tile(a,(1,2)) ????# 將a作為一個元素,變成1行2列的新數組

        np.tile(a,(2,3)) ????# a作為元素,在行上重復2次,在列上重復3次

        argsort: 用于將數組中的元素排序

        a.argsort() ????# 默認情況下對每一行的元素進行從小到大的排序,返回的是元素的下標

        a.argsort(axis=0) ????# 對每一列的元素排序

        a.T???????-- ?????????np.transpose(a) ???矩陣的轉置


      • 1.a = np.array([1,2]) ???# 元素均為整數,識別為int

        a = np.array([1.1,2.2]) ?????# 元素均為小數,識別為float

        a = np.array([1,2.2]) ?????# 元素有小數也有整數,識別為float

        a = np.array([1.1,2.6], dtype=np.int64)?????# 本來元素是小數,設置類型為int,會自動把小數點后面的數字去掉


        1. 一個二維數組也有可能產生一維數組,根據取的內容,[x,y]其中任意一個是整數的話,它的shape會在對應維數減一。

        2. np.arange()獲取指定范圍內的數組。

        3. a[]? []內可以加條件。

      • 1.numpy是python中進行數學計算的核心庫。它提供高性能的多維數組運算。

        2.Array(數組):

        常見的有一維和二維數組。維數的英文是rank。也就是說一維數組的rank是1,二維數組的rank是2。

        np.array([1,2,3])????# 創建數組

        a.shape?????# 數組大小,只有第一位有數字,表示這是一個一維數組,但是無法判斷是行向量還是列向量

        a = a.reshape((1,-1))????# 重塑矩陣,可以明確是行向量還是列向量,其中1表示1行,-1表示占位符,原來數組有3個元素,所以這里-1表示3

        a[2,0] = 55 ????# 將原本第三行第一列的5換成55

        a = np.zeros((3,3)) ?????# 創建一個3*3的元素全是0的二維矩陣

        a = np.ones((2,3))

        a = np.full((3,3), 0) ?????# 創建一個3*3的元素全是0的二維數組

        a = np.eye(3)????# 創建一個3*3的單位矩陣

        a = np.random.random((3,4))???# 用來創建隨機數組,元素的值都在0-1之間


      • 1.我們安裝anaconda,是為了使用jupyter notebook這個軟件。

        2.如何打開jupyter notebook這個軟件呢?兩種方法:

        第一種方法:

        <!--此處有圖片-->

        <!--此處有圖片-->

        如果想要改變存儲路徑,需要使用第二種方法打開,這種方法需要使用命令行。

        第二種方法:

        打開cmd——》切換到你想創建的路徑下——》輸入jupyter notebook

        這樣所創建的所有notebook就會保存在該路徑下了。

        <!--此處有圖片-->

        2.?如何使用jupyter notebook?

        下圖為創建了一個python3的筆記本:

        <!--此處有圖片-->

        修改文件名:

        <!--此處有圖片-->

        Notebook最強的功能就是能夠很方便地記筆記。

        <!--此處有圖片--><!--此處有圖片-->

      • 1.anaconda是python的發行版本,目前anaconda有兩個發行版本,分別是3.6和2.7的。

        Anaconda是包管理器、環境管理器,也就是說它能管理python的所有包,并且能在anaconda中正常編寫程序。

        最后在anaconda中有超過1000個開源軟件包。


      • random.uniform用來產生隨機數

        tile用來復制數組

        argsort用來數組行、列的排序?


      • reshape用來重塑陣型,行向量或列向量等等

      • a.b同大小,對應位置元素運算

        np.add(a,b) == a+b

        np.subtract(a,b) == a-b

        np.multiply(a,b) == a*b

        np.divide(a,b) == a/b

        np.sqrt(a)

        矩陣相乘 a.dot(b) == np.dot(a,b)

        求和

        np.sum(a)

        np.sum(a,axis=0) :列求和

        np.sum(a,axis=1) :行求和

        平均

        np.mean(a)

        np.mean(a,axis=0) :列

        np.mean(a,axis=1) :行

        隨機數

        np.random.uniform(x,y):x~y的隨機數

        以a為單位創建數組

        np.tile(a,(x,y)):行x個單位,列y個單位

        排序

        a.argsort():按行從小到大排序,結果為元素下標

        a.argsort(axis=0):按列排序

        矩陣轉置

        a.T == np.transpose(a)

      • a?=?np.array([[1,2,3],[4,5,6],[7,8,9]])
        a[[0,1],[0,1]]??==?a[0][0],a[1][1]
        
        ->?array([1,5])


      • rank:數組維數

        reshape((x,y)):x->行,y->列,-1->占位符

        np.zeros((x,y)):創建x行y列元素為0的數組

        np.ones((x,y))

        np.full((x,y),z):創建x行y列數組,所有元素都為z

        np.eye(n):n維單位矩陣

        random.random((x,y)):創建0-1的隨機數組

      • shift+enter 執行代碼 esc+m 文本形式 #+空格 一級標題 ##+空格 二級標題 。。。 * 加點標
      首頁上一頁1234567下一頁尾頁

      舉報

      0/150
      提交
      取消
      課程須知
      具備一定的python語法基礎最好
      老師告訴你能學到什么?
      anaconda安裝,jupyter notebook使用簡單教程,numpy使用教程。numpy簡單教程-數組,索引操作,元素數據類型,數組運算與常用函數,廣播
      意見反饋 邀請有獎 幫助中心 APP下載
      官方微信
      成人在线av