日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

NumPy常用属性及方法

發(fā)布時(shí)間:2023/12/19 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 NumPy常用属性及方法 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

  NumPy是高性能科學(xué)計(jì)算和數(shù)據(jù)分析的基礎(chǔ)包。部分功能如下:

    • ndarray, 具有矢量算術(shù)運(yùn)算和復(fù)雜廣播能力的快速且節(jié)省空間的多維數(shù)組。
    • 用于對(duì)整組數(shù)據(jù)進(jìn)行快速運(yùn)算的標(biāo)準(zhǔn)數(shù)學(xué)函數(shù)(無需編寫循環(huán))。
    • 用于讀寫磁盤數(shù)據(jù)的工具以及用于操作內(nèi)存映射文件的工具。
    • 線性代數(shù)、隨機(jī)數(shù)生成以及傅里葉變換功能。
    • 用于集成C、C++、Fortran等語言編寫的代碼的工具。

  首先要導(dǎo)入numpy庫:import numpy as np

A NumPy函數(shù)和屬性:

類型類型代碼說明
int8、uint8i1、u1有符號(hào)和無符號(hào)8位整型(1字節(jié))
int16、uint16i2、u2有符號(hào)和無符號(hào)16位整型(2字節(jié))
int32、uint32i4、u4有符號(hào)和無符號(hào)32位整型(4字節(jié))
int64、uint64i8、u8有符號(hào)和無符號(hào)64位整型(8字節(jié))
float16f2半精度浮點(diǎn)數(shù)
float32f4、f單精度浮點(diǎn)數(shù)
float64f8、d雙精度浮點(diǎn)數(shù)
float128f16、g擴(kuò)展精度浮點(diǎn)數(shù)
complex64c8分別用兩個(gè)32位表示的復(fù)數(shù)
complex128c16分別用兩個(gè)64位表示的復(fù)數(shù)
complex256c32分別用兩個(gè)128位表示的復(fù)數(shù)
bool?布爾型
objectOpython對(duì)象
stringSn固定長度字符串,每個(gè)字符1字節(jié),如S10
unicodeUn固定長度Unicode,字節(jié)數(shù)由系統(tǒng)決定,如U10

表2.1.A.1 NumPy類型

?

生成函數(shù)作用

np.array( x)

np.array( x, dtype)

將輸入數(shù)據(jù)轉(zhuǎn)化為一個(gè)ndarray

將輸入數(shù)據(jù)轉(zhuǎn)化為一個(gè)類型為type的ndarray

np.asarray( array )將輸入數(shù)據(jù)轉(zhuǎn)化為一個(gè)新的(copy)ndarray

np.ones( N )

np.ones( N, dtype)

np.ones_like( ndarray )

生成一個(gè)N長度的一維全一ndarray

生成一個(gè)N長度類型是dtype的一維全一ndarray

生成一個(gè)形狀與參數(shù)相同的全一ndarray

np.zeros( N)

np.zeros( N, dtype)

np.zeros_like(ndarray)

生成一個(gè)N長度的一維全零ndarray

生成一個(gè)N長度類型位dtype的一維全零ndarray

類似np.ones_like( ndarray )

np.empty( N )

np.empty( N, dtype)

np.empty(ndarray)

生成一個(gè)N長度的未初始化一維ndarray

生成一個(gè)N長度類型是dtype的未初始化一維ndarray

類似np.ones_like( ndarray )

np.eye( N )

np.identity( N )

創(chuàng)建一個(gè)N * N的單位矩陣(對(duì)角線為1,其余為0)

np.arange( num)

np.arange( begin, end)

np.arange( begin, end, step)

生成一個(gè)從0到num-1步數(shù)為1的一維ndarray

生成一個(gè)從begin到end-1步數(shù)為1的一維ndarray

生成一個(gè)從begin到end-step的步數(shù)為step的一維ndarray

np.mershgrid(ndarray, ndarray,...)

生成一個(gè)ndarray * ndarray * ...的多維ndarray

np.where(cond, ndarray1, ndarray2)

根據(jù)條件cond,選取ndarray1或者ndarray2,返回一個(gè)新的ndarray

np.in1d(ndarray, [x,y,...])

檢查ndarray中的元素是否等于[x,y,...]中的一個(gè),返回bool數(shù)組

??
矩陣函數(shù)說明

np.diag( ndarray)

np.diag( [x,y,...])

以一維數(shù)組的形式返回方陣的對(duì)角線(或非對(duì)角線)元素

將一維數(shù)組轉(zhuǎn)化為方陣(非對(duì)角線元素為0)

np.dot(ndarray, ndarray)矩陣乘法
np.trace( ndarray)計(jì)算對(duì)角線元素的和
??
??

排序函數(shù)

說明

np.sort( ndarray)

排序,返回副本

np.unique(ndarray)

返回ndarray中的元素,排除重復(fù)元素之后,并進(jìn)行排序

np.intersect1d( ndarray1, ndarray2)

np.union1d( ndarray1, ndarray2)

np.setdiff1d( ndarray1, ndarray2)

np.setxor1d( ndarray1, ndarray2)

返回二者的交集并排序。

返回二者的并集并排序。

返回二者的差。

返回二者的對(duì)稱差

??
一元計(jì)算函數(shù)說明

np.abs(ndarray)

np.fabs(ndarray)

計(jì)算絕對(duì)值

計(jì)算絕對(duì)值(非復(fù)數(shù))

np.mean(ndarray)

求平均值

np.sqrt(ndarray)

計(jì)算x^0.5

np.square(ndarray)

計(jì)算x^2

np.exp(ndarray)

計(jì)算e^x

log、log10、log2、log1p

計(jì)算自然對(duì)數(shù)、底為10的log、底為2的log、底為(1+x)的log

np.sign(ndarray)

計(jì)算正負(fù)號(hào):1(正)、0(0)、-1(負(fù))

np.ceil(ndarray)

np.floor(ndarray)

np.rint(ndarray)

計(jì)算大于等于改值的最小整數(shù)

計(jì)算小于等于該值的最大整數(shù)

四舍五入到最近的整數(shù),保留dtype

np.modf(ndarray)

將數(shù)組的小數(shù)和整數(shù)部分以兩個(gè)獨(dú)立的數(shù)組方式返回

np.isnan(ndarray)

返回一個(gè)判斷是否是NaN的bool型數(shù)組

np.isfinite(ndarray)

np.isinf(ndarray)

返回一個(gè)判斷是否是有窮(非inf,非NaN)的bool型數(shù)組

返回一個(gè)判斷是否是無窮的bool型數(shù)組

cos、cosh、sin、sinh、tan、tanh

普通型和雙曲型三角函數(shù)

arccos、arccosh、arcsin、arcsinh、arctan、arctanh

反三角函數(shù)和雙曲型反三角函數(shù)

np.logical_not(ndarray)

計(jì)算各元素not x的真值,相當(dāng)于-ndarray

多元計(jì)算函數(shù)

說明

np.add(ndarray, ndarray)

np.subtract(ndarray, ndarray)

np.multiply(ndarray, ndarray)

np.divide(ndarray, ndarray)

np.floor_divide(ndarray, ndarray)

np.power(ndarray, ndarray)

np.mod(ndarray, ndarray)

相加

相減

乘法

除法

圓整除法(丟棄余數(shù))

次方

求模

np.maximum(ndarray, ndarray)

np.fmax(ndarray, ndarray)

np.minimun(ndarray, ndarray)

np.fmin(ndarray, ndarray)

求最大值

求最大值(忽略NaN)

求最小值

求最小值(忽略NaN)

np.copysign(ndarray, ndarray)

將參數(shù)2中的符號(hào)賦予參數(shù)1

np.greater(ndarray, ndarray)

np.greater_equal(ndarray, ndarray)

np.less(ndarray, ndarray)

np.less_equal(ndarray, ndarray)

np.equal(ndarray, ndarray)

np.not_equal(ndarray, ndarray)

>

>=

<

<=

==

!=

logical_and(ndarray, ndarray)

logical_or(ndarray, ndarray)

logical_xor(ndarray, ndarray)

&

|

^

np.dot( ndarray, ndarray)計(jì)算兩個(gè)ndarray的矩陣內(nèi)積
np.ix_([x,y,m,n],...)生成一個(gè)索引器,用于Fancy indexing(花式索引)
??
文件讀寫說明
np.save(string, ndarray)將ndarray保存到文件名為 [string].npy 的文件中(無壓縮)
np.savez(string, ndarray1, ndarray2, ...)將所有的ndarray壓縮保存到文件名為[string].npy的文件中
np.savetxt(sring, ndarray, fmt, newline='\n')將ndarray寫入文件,格式為fmt
np.load(string)讀取文件名string的文件內(nèi)容并轉(zhuǎn)化為ndarray對(duì)象(或字典對(duì)象)
np.loadtxt(string, delimiter)讀取文件名string的文件內(nèi)容,以delimiter為分隔符轉(zhuǎn)化為ndarray
表2.1.A.2 np常用函數(shù)

  B NumPy.ndarray函數(shù)和屬性:

ndarray.ndim獲取ndarray的維數(shù)
ndarray.shape獲取ndarray各個(gè)維度的長度
ndarray.dtype獲取ndarray中元素的數(shù)據(jù)類型
ndarray.T簡(jiǎn)單轉(zhuǎn)置矩陣ndarray
表2.1.B.1 ndarray屬性
函數(shù)說明
ndarray.astype(dtype)轉(zhuǎn)換類型,若轉(zhuǎn)換失敗則會(huì)出現(xiàn)TypeError
ndarray.copy()復(fù)制一份ndarray(新的內(nèi)存空間)
ndarray.reshape((N,M,...))將ndarray轉(zhuǎn)化為N*M*...的多維ndarray(非copy)
ndarray.transpose((xIndex,yIndex,...))根據(jù)維索引xIndex,yIndex...進(jìn)行矩陣轉(zhuǎn)置,依賴于shape,不能用于一維矩陣(非copy)
ndarray.swapaxes(xIndex,yIndex)交換維度(非copy)
??
計(jì)算函數(shù)說明
ndarray.mean( axis=0 )求平均值?
ndarray.sum( axis= 0)求和?

ndarray.cumsum( axis=0)

ndarray.cumprod( axis=0)

累加?

累乘

ndarray.std()

ndarray.var()

方差

標(biāo)準(zhǔn)差

ndarray.max()

ndarray.min()

最大值

最小值

ndarray.argmax()

ndarray.argmin()

最大值索引

最小值索引

ndarray.any()

ndarray.all()

是否至少有一個(gè)True

是否全部為True

ndarray.dot( ndarray)

計(jì)算矩陣內(nèi)積

排序函數(shù)

說明

ndarray.sort(axis=0)

排序,返回源數(shù)據(jù)

表2.1.B.2 ndarray函數(shù)
ndarray[n]選取第n+1個(gè)元素
ndarray[n:m]選取第n+1到第m個(gè)元素
ndarray[:]選取全部元素
ndarray[n:]選取第n+1到最后一個(gè)元素
ndarray[:n]選取第0到第n個(gè)元素

ndarray[ bool_ndarray ]

注:bool_ndarray表示bool類型的ndarray

選取為true的元素

ndarray[[x,y,m,n]]...

選取順序和序列為x、y、m、n的ndarray

ndarray[n,m]

ndarray[n][m]

選取第n+1行第m+1個(gè)元素

ndarray[n,m,...]

ndarray[n][m]....

選取n行n列....的元素
表2.1.B.3 ndarray索引/切片方式

  C NumPy.random函數(shù)和屬性:

函數(shù)說明

seed()

seed(int)

seed(ndarray)

確定隨機(jī)數(shù)生成種子

permutation(int)

permutation(ndarray)

返回一個(gè)一維從0~9的序列的隨機(jī)排列

返回一個(gè)序列的隨機(jī)排列

shuffle(ndarray)對(duì)一個(gè)序列就地隨機(jī)排列

rand(int)

randint(begin,end,num=1)

產(chǎn)生int個(gè)均勻分布的樣本值

從給定的begin和end隨機(jī)選取num個(gè)整數(shù)

randn(N, M, ...)生成一個(gè)N*M*...的正態(tài)分布(平均值為0,標(biāo)準(zhǔn)差為1)的ndarray
normal(size=(N,M,...))生成一個(gè)N*M*...的正態(tài)(高斯)分布的ndarray?
beta(ndarray1,ndarray2)產(chǎn)生beta分布的樣本值,參數(shù)必須大于0?
?chisquare()產(chǎn)生卡方分布的樣本值?
?gamma()產(chǎn)生gamma分布的樣本值?
?uniform()產(chǎn)生在[0,1)中均勻分布的樣本值?

表2.1.C.1 random常用函數(shù)

  D NumPy.linalg函數(shù)和屬性:

函數(shù)說明
det(ndarray)計(jì)算矩陣列式
eig(ndarray)計(jì)算方陣的本征值和本征向量

inv(ndarray)

pinv(ndarray)

計(jì)算方陣的逆

計(jì)算方陣的Moore-Penrose偽逆

qr(ndarray)計(jì)算qr分解?
svd(ndarray)計(jì)算奇異值分解svd
solve(ndarray)解線性方程組Ax = b,其中A為方陣?
lstsq(ndarray)計(jì)算Ax=b的最小二乘解?

表2.1.D.1 linalg常用函數(shù)

轉(zhuǎn)載于:https://www.cnblogs.com/tangbaofang/p/8385750.html

總結(jié)

以上是生活随笔為你收集整理的NumPy常用属性及方法的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。