Numpy庫(kù)是Python的一種開(kāi)源的數(shù)值計(jì)算擴(kuò)展。
Numpy可用來(lái)存儲(chǔ)和處理大型矩陣,比Python自身的嵌套列表結(jié)構(gòu)要高效很多。
據(jù)說(shuō)Numpy將Pyhon變成了一種免費(fèi)的更強(qiáng)大的Matlab系統(tǒng)。Numpy庫(kù)包含了:
1. 強(qiáng)大的N維數(shù)組對(duì)象 2. 精密的函數(shù) 3. 連接C/C++和Fortran代碼的工具 4. 常用的線性代數(shù),傅里葉變換和隨機(jī)數(shù)生成
數(shù)組array和列表list類似,但是數(shù)據(jù)array可以定義維度,且適合做數(shù)學(xué)代數(shù)運(yùn)算
小數(shù)位數(shù)控制和取整
函數(shù) | 說(shuō)明 |
---|---|
abs、fabs | 計(jì)算整數(shù)、浮點(diǎn)數(shù)或復(fù)數(shù)的絕對(duì)值。對(duì)于非復(fù)數(shù),使用fabs更快 |
sqrt、square、exp | 計(jì)算各元素的平方根、平方、指數(shù)$e^x$ |
log、log10、log2、log1p | 自然對(duì)數(shù)、底數(shù)10的對(duì)數(shù)、底數(shù)2的對(duì)數(shù)、$ln(1+x)$ |
sign | 計(jì)算各元素的正負(fù)號(hào):正1,零0,負(fù)-1 |
ceil | 計(jì)算各元素的取整:大于等于該數(shù)的最小整數(shù) |
floor | 計(jì)算各元素的取整:小于等于該數(shù)的最大整數(shù) |
rint | 各元素四舍五入最接近的整數(shù),dtype不變 |
modf | 將數(shù)組各元素的小數(shù)和整數(shù)部分以兩個(gè)獨(dú)立數(shù)組的形式返回 |
isnan、isfinite、isinf | 判斷各元素是否為NaN、是否有窮、是否為無(wú)窮 |
cos、cosh、sin、sinh、tan、tanh | 一般和雙曲型的三角函數(shù) |
arccos、arccosh、arcsin、arcsinh、arctan、arctanh | 反三角函數(shù) |
sum、mean | 數(shù)組全部或者按某個(gè)軸的方向進(jìn)行求和、求均值 |
std、var | 標(biāo)準(zhǔn)差、方差,自由度可以調(diào)整 |
min、max、argmin、argmax | 最小和最大值、最小和最大元素的索引 |
cumsum、cumprod | 數(shù)組全部或者按某個(gè)軸的方向進(jìn)行累計(jì)和、累計(jì)積 |
函數(shù) | 說(shuō)明 |
---|---|
add、multiply | 數(shù)組中對(duì)應(yīng)的元素相加、相乘 |
substract | 第一個(gè)數(shù)組減去第二個(gè)數(shù)組中的元素 |
divide、floor_divide | 除法、向下圓整除法(余數(shù)直接舍棄) |
power | 對(duì)于第一個(gè)數(shù)組中的元素,根據(jù)第二個(gè)數(shù)組中的對(duì)應(yīng)元素,進(jìn)行冪運(yùn)算 |
maximum、fmax | 元素級(jí)的最大值、fmax功能相同只是忽略NaN |
minimum、fmin | 元素級(jí)的最小值、fmin功能相同只是忽略NaN |
mod | 元素級(jí)的求余 |
copysign | 將第二個(gè)數(shù)組中的值的符號(hào)復(fù)制給第一個(gè)數(shù)組中的值 |
greater、greater_equal、less、less_equal、equal、not_equal | 元素級(jí)的比較運(yùn)算,產(chǎn)生True或者False為元素的數(shù)組 |
logical_and、logical_or、logical_xor | 元素級(jí)的邏輯判斷(且、或者、不等于) |
使用np.r_和np.c_也可以實(shí)現(xiàn)拼接的功能
注意縱向拼接的時(shí)候,np.c_產(chǎn)生的結(jié)果是$6*2$,而np.r_產(chǎn)生的結(jié)果是$2*6$
在工作或者學(xué)習(xí)中,有些數(shù)組是我們常用的,利用numpy中的函數(shù)可以容易地產(chǎn)生這些數(shù)組
該函數(shù)的作用是重復(fù)某個(gè)對(duì)象為一定的結(jié)構(gòu)
np.meshgrid函數(shù)在畫三維圖時(shí)常用,其含義是利用兩個(gè)坐標(biāo)軸的點(diǎn)形成一個(gè)平面
函數(shù) | 說(shuō)明 |
---|---|
seed | 隨機(jī)數(shù)生成器的種子 |
permutation | 序列的隨機(jī)排列或者隨機(jī)排列的范圍,不改變?cè)瓟?shù)組 |
shuffle | 序列就地隨機(jī)排列,改變?cè)瓟?shù)組 |
rand | 均勻分布樣本值 |
randint | 給定上下限隨機(jī)產(chǎn)生整數(shù) |
randn | 正態(tài)分布樣本值 |
binomial | 二項(xiàng)分布樣本值 |
normal | 正態(tài)分布樣本值 |
beta | beta分布樣本值 |
chisquare | 卡方分布樣本值 |
gamma | Gamma分布樣本值 |
uniform | [0,1)均勻分布樣本值 |
choice | 從數(shù)組中隨機(jī)選擇若干個(gè)元素 |
函數(shù) | 說(shuō)明 |
---|---|
diag | 以一維數(shù)組的形式返回方陣的對(duì)角線元素或?qū)⒁痪S數(shù)組轉(zhuǎn)化為方陣 |
dot、trace、det | 矩陣乘法、矩陣的跡運(yùn)算、矩陣行列式 |
eig、inv、pinv | 方陣的特征值和特征向量、方陣的逆、矩陣的Moore-Penrose偽逆 |
qr、svd | 矩陣的QR分解、奇異值分解 |
solve | 解線性方程組$X\beta=y$,其中$X$為方陣 |
lstsq | 計(jì)算$X\beta=y$的最小二乘解 |
例如,對(duì)于下面的這些散點(diǎn)進(jìn)行多項(xiàng)式擬合。觀察散點(diǎn)的形態(tài),采用直線取擬合
從上圖可以看到,直線擬合的結(jié)果還是比較好的
聯(lián)系客服