Python大資料與機器學習之NumPy初體驗

來源:互聯網
上載者:User

標籤:簡化   c語言   park   pandas   提示   plot   速度   因此   輸入框   

本文是Python大資料與機器學習系列文章中的第6篇,將介紹學習Python大資料與機器學習所必須的NumPy庫。

通過本文系列文章您將能夠學到的知識如下:

  • 應用Python進行大資料與機器學習

  • 應用Spark進行大資料分析

  • 實現機器學習演算法

  • 學習使用NumPy庫處理數值資料

  • 學習使用Pandas庫進行資料分析

  • 學習使用Matplotlib庫進行Python繪圖

  • 學習使用Seaborn庫進行統計繪圖

  • 使用Plotly庫進行動態可視化

  • 使用SciKit-learn處理機器學習任務

  • K-Means聚類

  • 羅吉斯迴歸

  • 線性迴歸

  • 隨機森林與決策樹

  • 自然語言處理與垃圾郵件過濾

  • 神經網路

  • 支援向量機

另外小編也會擁抱變化,根據評論中的需求情況增加其它有意義的內容。例如增加一些相關面試題等等。

什麼是NumPy

NumPy是非常重要的Python數值計算擴充庫,基本整個Python大資料生態都依賴它,並且由於綁定了C語言庫,因此速度非常快。可以說我們要學好Python大資料,必須要學的就是NumPy庫了。

安裝NumPy

如果你根據之前的文章安裝了anaconda,那麼你已經預設安裝了NumPy庫了。如想單獨安裝請繼續往下看。

使用conda安裝的命令:

conda install numpy

使用pip安裝的命令:

pip install numpy

NumPy array

本系列文章主要用到的是numpy的array(數組);

numpy array有兩種基本形式:vector(向量)和matrics(矩陣)

vector是一維的,而matrics是二維的。

開啟Jupyter,輸入如下內容:

import numpy as np

my_list = [1,2,3]

arr = np.array(my_list)

arr

運行得到如下結果:

以上就是vector的一般形式

繼續輸入如下內容:

my_mat = [[1,2,3],[4,5,6],[7,8,9]]

np.array(my_mat)

運行得到如下結果:

以上就是二維matrics矩陣。

numpy有自己的range函數

np.arange(0,10)

運行結果如下:

還可以指定步長np.arange(0,10,2)

運行結果如下:

產生所有元素為0的向量np.zeros(3)

運行結果如下:

產生所有元素為0的矩陣np.zeros((5,5))

運行結果如下:

同樣產生所有元素為1的向量和矩陣分表為np.ones(4),np.ones((2,3))

運行結果如下:

np.linspace(0,5,20)

第一個參數是起始點,第二個參數是結束點,第三個參數是從起點到終點距離分成多少份。

運行結果如下:

np.eye(4)產生4*4的主對角線為1的矩陣

運行結果如下:

np.random.rand(5)產生隨機向量

運行結果如下:

np.random.rand(5,5)產生5*5的隨機向量

運行結果如下:

np.random.randn(2)產生標準常態分佈曲線。

運行結果如下:

np.random.randn(4,4)二維的標準常態分佈曲線

運行結果如下:

提示:

在Jupyter輸入框中按tab鍵可以提示聯想菜單,按shift+tab可以提示函數用法

按tab鍵

按shift+tab鍵

np.random.randint(1,100)產生1個1到100之間的隨機整數,不包含100

運行結果如下:

np.random.randint(1,100,10)產生10個1到100之間的隨機整數,不包含100

運行結果如下:

array類型支援的一些函數:

reshape函數可以修改array的維數。例如:

arr = np.arange(25)

arr.reshape(5,5)

運行結果如下:

max函數:最大值

min函數:最小值

argmax函數:返回最大值的索引

argmin函數:返回最小值的索引

ranarr = np.random.randint(1,100,10)

ranarr.max()

ranarr.min()

ranarr.argmax()

ranarr.argmin()

運行結果如下:

shape函數,返回array的大小

dtype,返回資料類型

調用簡化:

from numpy.random import randint

我們就可以直接使用randint了

randint(2,10)

運行結果如下:

Python大資料與機器學習之NumPy初體驗

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.