標籤:簡化 c語言 park pandas 提示 plot 速度 因此 輸入框
本文是Python大資料與機器學習系列文章中的第6篇,將介紹學習Python大資料與機器學習所必須的NumPy庫。
通過本文系列文章您將能夠學到的知識如下:
另外小編也會擁抱變化,根據評論中的需求情況增加其它有意義的內容。例如增加一些相關面試題等等。
什麼是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初體驗