這篇文章主要介紹Python中如何導(dǎo)入Numpy庫(kù),文中介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們一定要看完!
成都創(chuàng)新互聯(lián)是專業(yè)的當(dāng)雄網(wǎng)站建設(shè)公司,當(dāng)雄接單;提供成都網(wǎng)站設(shè)計(jì)、成都做網(wǎng)站,網(wǎng)頁(yè)設(shè)計(jì),網(wǎng)站設(shè)計(jì),建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進(jìn)行當(dāng)雄網(wǎng)站開(kāi)發(fā)網(wǎng)頁(yè)制作和功能擴(kuò)展;專業(yè)做搜索引擎喜愛(ài)的網(wǎng)站,專業(yè)的做網(wǎng)站團(tuán)隊(duì),希望更多企業(yè)前來(lái)合作!
導(dǎo)入Numpy庫(kù)
為了書(shū)寫(xiě)方便,一般用別名np代替Numpy庫(kù)(如果安裝的是anaconda,Numpy庫(kù)是自帶的)
a = np.array([[1,2,3,4],[5,6,7,8]]) print(a)
常用函數(shù)
導(dǎo)入Numpy庫(kù)之后,可以用Numpy生成數(shù)組。使用array()函數(shù)可以生成一個(gè)數(shù)組,與列表的區(qū)別是沒(méi)有逗號(hào):
a = np.array([[1,2,3,4],[5,6,7,8]]) print(a)
上方的代碼將生成一個(gè)二維數(shù)組,結(jié)果如圖:
如果想改變數(shù)組的維度,獲取4行2列數(shù)組,可以通過(guò)reshape()方法實(shí)現(xiàn):
b = a.reshape((4,-1)) print(b)
reshape()中的參數(shù)(4,-1)表示將數(shù)組轉(zhuǎn)換為4*X的新數(shù)組,X等于數(shù)組a中元素個(gè)數(shù)的1/4。參數(shù)-1是一種“懶人”方法,表示由Python通過(guò)行參數(shù)4自動(dòng)計(jì)算出列數(shù)。
此外,默認(rèn)是按照行優(yōu)先改變數(shù)據(jù)維度,也可以設(shè)置參數(shù)order="F",按照列優(yōu)先改變數(shù)據(jù)維度:
c = a.reshape((4,2), order="F") print(c)
雖然數(shù)組的維度沒(méi)有改變,但是元素對(duì)應(yīng)的位置已經(jīng)不同了。
想要提取數(shù)組中的某些元素,可以使用切片的方式來(lái)提取。如提取第2行中的5和7:
d = c[1,:] print(d)
獲取結(jié)果如圖:
當(dāng)然,也可以使用切片的方法修改數(shù)組中相應(yīng)位置的數(shù)值,比如將數(shù)組c中第二列的中間兩個(gè)數(shù)變?yōu)?,可以這樣操作:
c[1:3,1] = 0 print(c)
可以看出,逗號(hào)左邊表示行號(hào),右邊表示列號(hào),由此就能任意截選出我們需要的數(shù)據(jù)。
數(shù)組不僅可以是二維的,也可以是多維的。下面生成一個(gè)三維數(shù)組e:
e = np.array([c,c*2]) print(e)
數(shù)組e是一個(gè)2*2*4的數(shù)組,也就是說(shuō)由2個(gè)2*4的矩陣構(gòu)成。
Numpy中的linspace()函數(shù)可以在指定的兩個(gè)數(shù)之間生成固定數(shù)量的等間距(步長(zhǎng))數(shù)組,如:
f = np.linspace(start=1,stop=12,num=5) print(f)
上方代碼生成一個(gè)從1到12的5個(gè)等間距的數(shù)組。
如果想以指定的步長(zhǎng)來(lái)生成一個(gè)向量,可以使用arange()方法,如從1開(kāi)始,步長(zhǎng)為3,生成小于等于12的向量:
g = np.arange(1,12,3) print(g)
結(jié)果:[1 4 7 10]
使用
ones()函數(shù)可以生成全1數(shù)組,如生成一個(gè)2*3的全1數(shù)組:
h = np.ones((2,3)) print(h)
使用zeros()函數(shù)可以生成全0數(shù)組,如生成一個(gè)2*3的全0數(shù)組:
i = np.zeros((2,3)) print(i)
若想生成單位數(shù)組(對(duì)角線為1,其余全是0),可以使用eye()函數(shù),如生成一個(gè)3*3的單位數(shù)組:
j = np.eye(3) print(j)
當(dāng)然,也可以指定對(duì)角線的元素取值:
k = np.diag(np.arange(1,13,4)) print(k)
使用diag()函數(shù)可以得到一個(gè)數(shù)組的對(duì)角線元素,也可以獲取對(duì)角線的值:
l =np.diag(np.arange(1,26,3).reshape((3,3))) print(l)
結(jié)果:[ 1 13 25 ]
Numpy中的Random模塊是用來(lái)生成隨機(jī)數(shù)的有力工具,通過(guò)seek()方法能指定隨機(jī)數(shù)種子,保證生成的隨機(jī)數(shù)是可重復(fù)的。如要生成一個(gè)可重復(fù)的3*3隨機(jī)數(shù)組,可以用如下方法:
np.random.seed(2) m = np.random.randn(3, 3) print(m)
當(dāng)然,一些常用的統(tǒng)計(jì)函數(shù)也能實(shí)現(xiàn),如均值用mean()方法:
n = np.arange(10) print(n.mean())
標(biāo)準(zhǔn)差可以使用std()方法:
n = np.arange(10) print(n.std())
數(shù)組排序可以使用sort()方法,默認(rèn)是每行自動(dòng)排序:
p = np.sort([[2,5,3],[10,6,8]]) print(p)
數(shù)組的百分位數(shù)可以用percentile()函數(shù):
q = np.arange(10) print(np.percentile(q, 50))
中位數(shù)用median()函數(shù):
q = np.arange(10) print(np.median(q))
當(dāng)個(gè)數(shù)為偶數(shù)時(shí),中位數(shù)是中間兩個(gè)數(shù)字之和除以2。
Numpy的計(jì)算方法還有很多,大家可以去網(wǎng)上查閱,這里只說(shuō)幾個(gè)常用的。
Numpy主要以數(shù)組為操作對(duì)象,在生成和調(diào)整數(shù)組方面優(yōu)勢(shì)非常明顯。但直接觀察數(shù)組卻不太方便,沒(méi)有序號(hào)、排列不齊等問(wèn)題并不利于我們尋找數(shù)據(jù)規(guī)律,所以我們需要繼續(xù)學(xué)習(xí)。
以上是“Python中如何導(dǎo)入Numpy庫(kù)”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對(duì)大家有幫助,更多相關(guān)知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!
分享題目:Python中如何導(dǎo)入Numpy庫(kù)
URL網(wǎng)址:http://www.rwnh.cn/article28/jdchjp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供響應(yīng)式網(wǎng)站、、企業(yè)建站、商城網(wǎng)站、定制開(kāi)發(fā)、動(dòng)態(tài)網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)