做數(shù)據(jù)分析,我們難免會使用到Numpy對數(shù)據(jù)做處理。所以我們很有必要對他有所了解。這里配圖詳細(xì)介紹該庫的具體用法。
在開始之前,我們需要導(dǎo)入所需包
import numpy as np
1.一維數(shù)組
創(chuàng)建數(shù)組
np.array([1, 2, 3])

初始化數(shù)組
在對數(shù)組初始化時,Numpy提供了幾種初始化方法,
ones(): 初始元素為1的數(shù)組
zeros():初始元素為0的數(shù)組
random.random():初始元素為隨機(jī)數(shù)的數(shù)組
大家看圖就更加的詳細(xì)。

數(shù)組運(yùn)算
在開始對數(shù)組運(yùn)算之前,我們需要創(chuàng)建兩個示例數(shù)組。

下面開始對數(shù)組做運(yùn)算
# 按位置對元素做相加
data + one
[2, 3]

除了加法外,數(shù)組與數(shù)組之間,我們還可以做其他運(yùn)算。加減乘除。

不僅如此,在對數(shù)組和某個值做運(yùn)算時,也是可以的.

數(shù)組索引
我們可以像對list()列表切片那樣處理Numpy數(shù)組。具體請看下圖。

很強(qiáng)大有木有?。。榱俗龈脤Ρ?,可以看下列表的切片。
data = [1, 2, 3]
data[0]# 輸出1
data[1] # 輸出2
data[0,2] # 輸出[1, 2]
data[1:] # 輸出[2, 3]
數(shù)組聚合
這里就簡單介紹了max(), min(), sum(),當(dāng)然了還有其他的聚合方法,如平均,方差等等。

2.二維數(shù)組(矩陣)
像一維簡單數(shù)組那樣,我們還是先學(xué)會創(chuàng)建簡單二維數(shù)組。
創(chuàng)建矩陣
np.array([[1,2],[3,4]])

初始化矩陣
同理,我們
ones(): 初始元素為1的數(shù)組
zeros():初始元素為0的數(shù)組
random.random():初始元素為隨機(jī)數(shù)的數(shù)組
同樣也是適用于矩陣。

配上圖解,增加可讀性。
矩陣運(yùn)算
同樣也是支持簡單的四則運(yùn)算,這里就以加法為例。其他運(yùn)算也是同理,按位置做運(yùn)算。

當(dāng)不同維度數(shù)組運(yùn)算時,

點積運(yùn)算。

當(dāng)我們需要做點積運(yùn)算時,總會有很多迷茫之處,不要緊這里給更加詳細(xì)的圖解。

矩陣索引
大家可以驗證一下。
# 創(chuàng)建一個三行二列矩陣
np.array([[1,2],[3,4],[5,6]])

矩陣聚合
基本與一維數(shù)組算法是一致的。
我們還可以通過參數(shù)axis實現(xiàn)按行或列聚合。axis=0:按行,axis=1:按列。

以上圖為例,axis=0按行取max,獲取每行的最大值,每行有兩個參數(shù)。axis=1按列取max,獲取每列的最大值,每列有三個參數(shù)。
反轉(zhuǎn)矩陣

矩陣重構(gòu)

通過reshape()函數(shù),我們可以塑造出我們所需的數(shù)組維度。
3.最后
也適用于多維度數(shù)組與數(shù)學(xué)公式的運(yùn)用。


數(shù)學(xué)運(yùn)用:采用Numpy計算均方誤差(MSE)






更多請參考原文