機器學習必備Python庫之Numpy基礎學習

2021-02-21 機器學習算法與Python精研

Numpy 是Python語言的一個庫(library),專為數字處理而生,是進行機器學習研究的必學工具。

關於numpy的學習內容如下:

數組簡介和數組的構造

數組取值和賦值

數學運算

broadcasting

邏輯運算

數組高級操作

文件輸入輸出

(橙色部分為代碼列印輸出的部分,

所有代碼均經過實際操作所得。)

導入Numpy庫

import numpy  as np

創建一個一維數組

a=np.array([1,3,5])

print(a)

[1 3 5]

列印變量a的類型

print(type(a)) 

<class 'numpy.ndarray'>  

#ndarray : n dimensional array n維數組

a的第一個元素

print(a[0])

1

創建一個二維的數組

b=np.array([[1,2,3],[2,3,4]])

print(b)

[[1 2 3]

 [2 3 4]]

列印多維數組的類型

print(type(b))

<class 'numpy.ndarray'>

列印出數組的形狀【shape】

print(b.shape)

(2, 3)  #2×3 表示兩行三列

0行第3列的元素

print(b[0,2])

3


特殊矩陣

創建全為0的ndarry    np.zeros()

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

print(a)

[[ 0.  0.  0.]

 [ 0.  0.  0.]]

創建全為1的ndarray  np.ones()

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

print(b)

[[ 1.  1.  1.]

 [ 1.  1.  1.]]

創建對角矩陣 np.eye()

d=np.eye(3)

print(d)

[[ 1.  0.  0.]

 [ 0.  1.  0.]

 [ 0.  0.  1.]]

創建隨機數組  np.random.random()

e=np.random.random((2,3))

print(e)

[[ 0.48969351  0.25491161  0.75721088]

 [ 0.18787563  0.64471311  0.80228865]]

創建0-n 一維數組 np.arange()

g=np.arange(15)

print(g)

[ 0  1  2  3  4  5  6  7  8  9 10 11 12 13 14]

類型

數組中數據類型  dtpye   記憶: data type

a=np.array([1,2,4])

print(a.dtype)

int32

b=np.array([1.2,2.3,1.01])

print(b)

[ 1.2   2.3   1.01]

print(b.dtype)

float64

改變數據類型 dtype=

a=np.array([1,2,4],dtype=np.float)

print(a.dtype)

float64

轉換數據類型  a.astype(np.int)

a=np.array([1.2,2.3,1.01])

print(a)

[ 1.2   2.3   1.01]

print(a.dtype)

float64

int_a=a.astype(np.int)

print(int_a)

[1 2 1]

print(int_a.dtype)

int32

float_a=int_a.astype(np.float)

print(float_a)

[ 1.  2.  1.]

Numpy取值方式

切片 跟list 切片類似  0:2,0:2 取前2行的前2列

a=np.array([[1,2,3],[4,5,6],[7,8,9],[10,11,12]])

print(a.shape)

(4, 3)

print(a)

[[ 1  2  3]

 [ 4  5  6]

 [ 7  8  9]

 [10 11 12]]

b=a[0:2,0:2]

print(b)

[[1 2]

 [4 5]]

b[0,0]=111

print(b)

[[111 2]

 [4 5]]

row_r1=a[1,:]  #取第二行

print(row_r1)

[4 5 6]

col_c1=a[:,1] #取第二列

print(col_c1)

[ 2  5  8 11]

print(a[[0,1,3],[1,1,0]])   #取 0 1,1 1,3 0

[ 2  5 10]

條件判斷索引

a=np.array([[1,2,3],[4,5,6],[7,8,9],[10,11,12]])

print(a)

[[ 1  2  3]

 [ 4  5  6]

 [ 7  8  9]

 [10 11 12]]

bool_index=(a>2)

print(bool_index)

[[False False  True]

 [ True  True  True]

 [ True  True  True]

 [ True  True  True]]

運算

x=np.array([[1,2],[3,4]],dtype=np.float64)

y=np.array([[5,6],[7,8]],dtype=np.float64)

print(x),print(y)

[[ 1.  2.]

 [ 3.  4.]]

[[ 5.  6.]

 [ 7.  8.]]

print(x.shape)

(2, 2)

print(y.shape)

(2, 2)

逐個元素求和 x+y

x+y

array([[  6.,   8.],

       [ 10.,  12.]])

逐個元素作差 x-y

x-y

array([[-4., -4.],

       [-4., -4.]])

逐個元素相乘 x*y  np.multiply(x,y)

x*y

array([[  5.,  12.],

       [ 21.,  32.]])

np.multiply(x,y)

array([[  5.,  12.],

       [ 21.,  32.]])

逐個元素相除 x/y  np.divide(x,y)

x/y

array([[ 0.2       ,  0.33333333],

       [ 0.42857143,  0.5       ]])

np.divide(x,y)

array([[ 0.2       ,  0.33333333],

       [ 0.42857143,  0.5       ]])

numpy基礎部分完。

一個庫的學習,不需要我們將每個方法都背誦下來,對於基礎的操作,肯定是需要掌握的。

為了避免學習疲勞,篇幅不宜過長,下次我們再介紹numpy的高級操作。

學習的路上,

需要堅持,

一起加油!

謝謝你。

歡迎你關注,與你共同進步。

長按二維碼關注

相關焦點

  • python機器學習:常用庫的介紹及安裝
    現在,隨著人工智慧的興起,機器學習越來越被各行業看重,從而使得人工智慧的需求會越來越大。今天,我們就從零基礎開始學習人工智慧的基礎篇——機器學習。工欲善其事必先利其器,所以,我們首先來看一下,我們要學習這些東西,需要準備些什麼!首先電腦一臺,這是必備的。下面我們來看一下需要安裝些什麼軟體到電腦上!
  • 學習筆記,從NumPy到Scrapy,學習Python不能錯過這些庫
    在網絡上看到幾位前輩寫了關於python深度學習庫的文章,對於小小白來說,因為我剛開始學python,我得承認自己看完後依然覺得雲裡霧裡的,不知道這些庫到底對我有什麼用處。所以我到網絡上搜集補充關於這些庫的說明內容,感覺在這個整理資料的過程中,對於這些python程序庫了解了更多,以下是我整理的學習筆記。
  • numpy庫學習總結(基礎知識)
    最近在學習Python中OpenCV庫,學習花了很多時間,發現基礎知識很重要,尤其是numpy這個庫,在進行程序開發時,處理大量類似數組這種數據結構時,它的重要性等同於Python中的列表,像前篇我們寫的《使用Python中OpenCV庫創建一幅圖片的RGB通道圖片》中,對於圖片的處理
  • 資源|用Python和NumPy學習《深度學習》中的線性代數基礎
    本文系巴黎高等師範學院在讀博士 Hadrien Jean 的一篇基礎學習博客,其目的是幫助初學者/高級初學者基於深度學習和機器學習來掌握線性代數的概念。掌握這些技能可以提高你理解和應用各種數據科學算法的能力。
  • 好程式設計師Python培訓分享numpy簡介
    好程式設計師Python培訓分享numpy簡介:一、numpy簡介:NumPy是一個功能強大的Python庫,主要用於對多維數組執行計算。NumPy這個詞來源於兩個單詞-- Numerical和Python。NumPy提供了大量的庫函數和操作,可以幫助程式設計師輕鬆地進行數值計算。
  • Python機器學習·微教程
    在這個教程裡,你將學會:如何處理數據集,並構建精確的預測模型使用Python完成真實的機器學習項目這是一個非常簡潔且實用的教程,希望你能收藏,以備後面複習!接下來進入正題~這個微課程適合誰學習?如果你不符合以下幾點,也沒關係,只要花點額外時間搞清楚知識盲點就能跟上。所以這個教程既不是python入門,也不是機器學習入門。
  • Python之Numpy庫常用函數合集
    轉自:博客園最近學習Python,才發現原來python裡的各種庫才是大頭!
  • Python必備基礎:這些NumPy的神操作你都掌握了嗎?
    從已有數據中創建直接對python的基礎數據類型(如列表、元組等)進行轉換來生成ndarray。庫。math模塊的輸入一般是標量,但NumPy中的函數可以是向量或矩陣,而利用向量或矩陣可以避免循環語句,這點在機器學習、深度學習中經常使用。以下為NumPy中的常用幾個通用函數:1.
  • python機器學習之使用scikit-learn庫
    引言數據分析由一連串的步驟組成,對於其中預測模型的創建和驗證這一步,我們使用scikit-learn這個功能強大的庫來完成。scikit-learning庫python庫scikit-learn整合了多種機器學習算法。
  • 大數據分析Python NumPy庫使用教程
    我將在大數據分析Python NumPy庫使用教程中學到什麼? 大數據分析Python NumPy庫使用教程為數據工程師提供有關NumPy的從零開始的培訓。這意味著您不需要具有NumPy的任何經驗,也不會浪費任何時間學習與數據工程工作無關的東西。
  • Python大數據綜合應用 :零基礎入門機器學習、深度學習算法原理與案例
    二、課程目標通過課程學習,可以理解機器學習的思維方式和關鍵技術;了解深度學習和機器學習在當前工業界的落地應用;能夠根據數據分布選擇合適的算法模型並書寫代碼,初步勝任使用Python進行數據挖掘、機器學習、深度學習等工作。
  • 技術乾貨 | Sklearn機器學習基礎
    scikit-learn簡稱sklearn,支持包括分類、回歸、降維和聚類四大機器學習算法。還包含了特徵提取、數據處理和模型評估三大模塊。sklearn是Scipy的擴展,建立在NumPy和matplotlib庫的基礎上。利用這幾大模塊的優勢,可以大大提高機器學習的效率。
  • 機器學習、深度學習算法原理與案例實踐暨Python大數據綜合應用...
    共4天8節,講解機器學習和深度學習的模型理論和代碼實踐,梳理機器學習、深度學習、計算機視覺的技術框架,從根本上解決如何使用模型、優化模型的問題;每次課中,首先闡述算法理論和少量公式推導,然後使用真實數據做數據挖掘、機器學習、深度學習的數據分析、特徵選擇、調參和結果比較。
  • Python之numpy數組學習(一)
    作者  Airy本文轉自AiryData,轉載需授權前面已經安裝並學習了Python中的科學計算庫,今天主要學習下numpy數組。Python本身支持整型、浮點型和複數型,為了科學計算,numpy提供了更加豐富的數據類型,注意:numpy跟數學運算有關的數據類型的名稱都以數字結尾。這個數字指示了該類型的變量所佔用的二進位位數。Numpy的各種數值類型如下圖所示:
  • Python機器學習系列3:一個通用、強大的Python機器學習函數庫
    如果你對Python機器學習感興趣,正在尋找一個強大的Python機器學習庫,那麼本文將強烈推薦scikit-learn,它可以幫助你把機器學習輕鬆應用到生產環境中。本文將會介紹對scikit-learn庫進行基本介紹,並擴展介紹相關常用機器學習資源。
  • 機器學習 | 四大常用機器學習Python庫介紹
    點擊下方公眾號,回復資料,收穫驚喜今天這篇我們介紹下Python中常用的機器學習庫(機器(機器學習、深度學習啥的,小編還是建議使用Python進行建模編寫哈),也算是本公號機器學習的第一篇推文,主要內容如下:深度學習常用四大Python庫這一部分我們簡單介紹下Python中的常用的機器學習庫,算是比較入門的介紹哈,具體包括Scikit-learn、Keras、TensorFlow和PyTorch,下面我們就一一簡單介紹:
  • 數據分析-numpy庫快速了解
    1.numpy是什麼庫NumPy是一個開源的Python科學計算基礎庫,包含: 一個強大的N維數組對象 ndarray 廣播功能函數 整合C/C++/Fortran代碼的工具 線性代數、傅立葉變換、隨機數生成等功能
  • python推薦 | 面向地學領域的Python庫匯總
    •二進位:numpy可以處理二進位數據,同時藉助python內置struct模塊可以非常方便的處理二進位格式數據。上述介紹的一些庫,很多僅支持簡單的數據讀取和寫入操作,不支持更多計算操作。如果要對空間數據進行插值,可能就無法滿足了。
  • 矩陣乘法的純Python實現 | 離開Python庫!!
    本篇文章將深入探討在沒有機器學習庫的情況下如何從零實現矩陣乘法!你有沒有想過在沒有任何複雜的機器學習庫的情況下處理機器學習問題?畢竟多虧了那些模塊,才可以讓我們的某些操作幾乎可以在眨眼之間完成。為了真正欣賞這些模塊的美觀和優雅,讓我們從頭開始進行代碼矩陣乘法,而無需任何機器學習庫或模塊。
  • Python之numpy數組學習(三)
    作者  Airy本文轉自AiryData,轉載需授權前面我們學習了numpy庫的簡單應用和數組的處理,今天來學習下比較重要的如何拆分數組。下面用代碼說明numpy數組的各種屬性的詳細用法。今天學習一下Python中numpy的數組拆分和其他屬性。