App下載

Python數(shù)據(jù)分析----NumPy庫常用用法總結(jié)

猿友 2020-12-31 17:28:30 瀏覽數(shù) (3951)
反饋

前言

在沒給大家介紹 numpy 之前先給大家說下 Python 的基本概念。

Python 是一種高級(jí)的,動(dòng)態(tài)的,多泛型的編程語言。Python 代碼很多時(shí)候看起來就像是偽代碼一樣,因此你可以使用很少的幾行可讀性很高的代碼來實(shí)現(xiàn)一個(gè)非常強(qiáng)大的想法。

numpy 很簡單,numpy 是 Python 的一個(gè)科學(xué)計(jì)算的庫,提供了矩陣運(yùn)算的功能,其一般與 Scipy、matplotlib 一起使用。其實(shí),list 已經(jīng)提供了類似于矩陣的表示形式,不過 numpy 為我們提供了更多的函數(shù)。

小編在這給大家總結(jié)了一些 numpy 的常用操作。

首先,要引入 numpy 包:

import numpy as np

一、在numpy中N維數(shù)組對象叫做ndarrey,關(guān)于它的一些操作:

1.ndarry對象的屬性:

屬性 說明
.ndim 秩,即軸的數(shù)量或維度的數(shù)量
.shape ndarray對象的尺度,對于矩陣,n行m列
.size ndarray對象元素的個(gè)數(shù),相當(dāng)于.shape中n*m的值
.dtype ndarray對象的元素類型
.itemsize ndarray對象中每個(gè)元素的大小,以字節(jié)為單位

2.ndarry的元素類型(1):

數(shù)據(jù)類型 說明
bool 布爾類型,True或False
intc 與C語言中的int類型一致,一般是int32或int64
intp 用于索引的整數(shù),與C語言中ssize_t一致,int32或int64
int8 字節(jié)長度的整數(shù),取值:[‐128, 127]
int16 16位長度的整數(shù),取值:[‐32768, 32767]
int32 32位長度的整數(shù),取值:[‐231, 231‐1]
int64 64位長度的整數(shù),取值:[‐263, 263‐1]

2.ndarry的元素類型(1):

數(shù)據(jù)類型 說明
bool 布爾類型,True或False
intc 與C語言中的int類型一致,一般是int32或int64
intp 用于索引的整數(shù),與C語言中ssize_t一致,int32或int64
int8 字節(jié)長度的整數(shù),取值:[‐128, 127]
int16 16位長度的整數(shù),取值:[‐32768, 32767]
int32 32位長度的整數(shù),取值:[‐231, 231‐1]
int64 64位長度的整數(shù),取值:[‐263, 263‐1]

3.ndarry的元素類型(2):

數(shù)據(jù)類型 說明
uint8 8位無符號(hào)整數(shù),取值:[0, 255]
uint16 16位無符號(hào)整數(shù),取值:[0, 65535]
uint32 32位無符號(hào)整數(shù),取值:[0, 232‐1]
uint64 32位無符號(hào)整數(shù),取值:[0, 264‐1]
float16 16位半精度浮點(diǎn)數(shù):1位符號(hào)位,5位指數(shù),10位尾數(shù)
float32 32位半精度浮點(diǎn)數(shù):1位符號(hào)位,8位指數(shù),23位尾數(shù)
float64 64位半精度浮點(diǎn)數(shù):1位符號(hào)位,11位指數(shù),52位尾數(shù)
complex64 復(fù)數(shù)類型,實(shí)部和虛部都是32位浮點(diǎn)數(shù)
complex128 復(fù)數(shù)類型,實(shí)部和虛部都是64位浮點(diǎn)數(shù)

4.ndarry常用函數(shù)總結(jié):

函數(shù) 說明
np.arange(n) 類似range()函數(shù),返回ndarray類型,元素從0到n‐1
np.ones(shape) 根據(jù)shape生成一個(gè)全1數(shù)組,shape是元組類型 np.zeros(shape)根據(jù)shape生成一個(gè)全0數(shù)組,shape是元組類型
np.full(shape,val) 根據(jù)shape生成一個(gè)數(shù)組,每個(gè)元素值都是val
np.eye(n) 創(chuàng)建一個(gè)正方的n*n單位矩陣,對角線為1,其余為0
np.ones_like(a) 根據(jù)數(shù)組a的形狀生成一個(gè)全1數(shù)組
np.zeros_like(a) 根據(jù)數(shù)組a的形狀生成一個(gè)全0數(shù)組
np.full_like(a,val) 根據(jù)數(shù)組a的形狀生成一個(gè)數(shù)組,每個(gè)元素值都是val
np.linspace() 根據(jù)起止數(shù)據(jù)等間距地填充數(shù)據(jù),形成數(shù)組
np.concatenate() 將兩個(gè)或多個(gè)數(shù)組合并成一個(gè)新的數(shù)組
.reshape(shape) 不改變數(shù)組元素,返回一個(gè)shape形狀的數(shù)組,原數(shù)組不變
.resize(shape) 與.reshape()功能一致,但修改原數(shù)組
.swapaxes(ax1,ax2) 將數(shù)組n個(gè)維度中兩個(gè)維度進(jìn)行調(diào)換
.flatten() 對數(shù)組進(jìn)行降維,返回折疊后的一維數(shù)組,原數(shù)組不變
np.abs(x) np.fabs(x) 計(jì)算數(shù)組各元素的絕對值
np.sqrt(x) 計(jì)算數(shù)組各元素的平方根
np.square(x) 計(jì)算數(shù)組各元素的平方
np.log(x) np.log10(x) np.log2(x) 計(jì)算數(shù)組各元素的自然對數(shù)、10底對數(shù)和2底對數(shù)
np.ceil(x) np.floor(x) 計(jì)算數(shù)組各元素的ceiling值或floor值
np.rint(x) 計(jì)算數(shù)組各元素的四舍五入值
np.modf(x) 將數(shù)組各元素的小數(shù)和整數(shù)部分以兩個(gè)獨(dú)立數(shù)組形式返回
np.cos(x) np.cosh(x) np.sin(x) np.sinh(x) np.tan(x) np.tanh(x) 計(jì)算數(shù)組各元素的普通型和雙曲型三角函數(shù)
np.exp(x) 計(jì)算數(shù)組各元素的指數(shù)值
np.sign(x) 計(jì)算數(shù)組各元素的符號(hào)值,1(+), 0, ‐1(‐)
+ ‐* / ** 兩個(gè)數(shù)組各元素進(jìn)行對應(yīng)運(yùn)算
np.maximum(x,y) np.fmax() np.minimum(x,y)np.fmin() 元素級(jí)的最大值/最小值計(jì)算
np.mod(x,y) 元素級(jí)的模運(yùn)算
np.copysign(x,y) 將數(shù)組y中各元素值的符號(hào)賦值給數(shù)組x對應(yīng)元素
> < >= <= == != 算術(shù)比較,產(chǎn)生布爾型數(shù)組

二、在numpy中隨機(jī)函數(shù)庫的函數(shù)總結(jié):

1.np.random的隨機(jī)函數(shù)(1):

函數(shù) 說明
rand(d0,d1,..,dn) 根據(jù)d0‐dn創(chuàng)建隨機(jī)數(shù)數(shù)組,浮點(diǎn)數(shù),[0,1),均勻分布
randn(d0,d1,..,dn) 根據(jù)d0‐dn創(chuàng)建隨機(jī)數(shù)數(shù)組,標(biāo)準(zhǔn)正態(tài)分布
randint(low[,high,shape]) 根據(jù)shape創(chuàng)建隨機(jī)整數(shù)或整數(shù)數(shù)組,范圍是[low, high)
seed(s) 隨機(jī)數(shù)種子,s是給定的種子值

2.np.random的隨機(jī)函數(shù)(2):

函數(shù) 說明
shuffle(a) 根據(jù)數(shù)組a的第1軸進(jìn)行隨排列,改變數(shù)組x
permutation(a) 根據(jù)數(shù)組a的第1軸產(chǎn)生一個(gè)新的亂序數(shù)組,不改變數(shù)組x
choice(a[,size,replace,p]) 從一維數(shù)組a中以概率p抽取元素,形成size形狀新數(shù)組 replace表示是否可以重用元素,默認(rèn)為False

3.np.random的隨機(jī)函數(shù)(3):

函數(shù) 說明
uniform(low,high,size) 產(chǎn)生具有均勻分布的數(shù)組,low起始值,high結(jié)束值,size形狀
normal(loc,scale,size) 產(chǎn)生具有正態(tài)分布的數(shù)組,loc均值,scale標(biāo)準(zhǔn)差,size形狀
poisson(lam,size) 產(chǎn)生具有泊松分布的數(shù)組,lam隨機(jī)事件發(fā)生率,size形狀

三、在numpy中統(tǒng)計(jì)函數(shù)總結(jié):

函數(shù)說明
sum(a, axis=None)根據(jù)給定軸axis計(jì)算數(shù)組a相關(guān)元素之和,axis整數(shù)或元組
mean(a, axis=None)根據(jù)給定軸axis計(jì)算數(shù)組a相關(guān)元素的期望,axis整數(shù)或元組
average(a,axis=None,weights=None)根據(jù)給定軸axis計(jì)算數(shù)組a相關(guān)元素的加權(quán)平均值
std(a, axis=None)根據(jù)給定軸axis計(jì)算數(shù)組a相關(guān)元素的標(biāo)準(zhǔn)差
var(a, axis=None)根據(jù)給定軸axis計(jì)算數(shù)組a相關(guān)元素的方差
min(a) max(a)計(jì)算數(shù)組a中元素的最小值、最大值
argmin(a) argmax(a)計(jì)算數(shù)組a中元素最小值、最大值的降一維后下標(biāo)
unravel_index(index, shape)根據(jù)shape將一維下標(biāo)index轉(zhuǎn)換成多維下標(biāo)
ptp(a)計(jì)算數(shù)組a中元素最大值與最小值的差
median(a)計(jì)算數(shù)組a中元素的中位數(shù)(中值)
np.gradient(f)計(jì)算數(shù)組f中元素的梯度,當(dāng)f為多維時(shí),返回每個(gè)維度梯度

1 人點(diǎn)贊