Python基礎(chǔ)之numpy庫(kù)的使用
numpy庫(kù)處理的最基礎(chǔ)數(shù)據(jù)類型是由同種元素構(gòu)成的多維數(shù)組,簡(jiǎn)稱為“數(shù)組”
數(shù)組的特點(diǎn):
數(shù)組中所有元素的類型必須相同 數(shù)組中元素可以用整數(shù)索引 序號(hào)從0開始ndarray類型的維度叫做軸,軸的個(gè)數(shù)叫做秩
numpy庫(kù)的解析由于numpy庫(kù)中函數(shù)較多而且容易與常用命名混淆,建議采用如下方法引用numpy庫(kù)
import numpy as np
numpy庫(kù)中常用的創(chuàng)建數(shù)組函數(shù)
函數(shù) 描述 np.array([x,y,z],dtype=int) 從Python列表和元組中創(chuàng)建數(shù)組 np.arange(x,y,i) 創(chuàng)建一個(gè)由x到y(tǒng),以i為步長(zhǎng)的數(shù)組 np.linspace(x,y,n) 創(chuàng)建一個(gè)由x到y(tǒng),等分成n個(gè)元素的數(shù)組 np.indices((m,n)) 創(chuàng)建一個(gè)m行n列的矩陣 np.random.rand(m,n) 創(chuàng)建一個(gè)m行n列的隨機(jī)數(shù)組 np.ones((m,n),dtype) 創(chuàng)建一個(gè)m行n列全1的數(shù)組,dtype是數(shù)據(jù)類型 np.empty((m,n),dtype) 創(chuàng)建一個(gè)m行n列全0的數(shù)組,dtype是數(shù)據(jù)類型import numpy as npa1 = np.array([1,2,3,4,5,6])a2 = np.arange(1,10,3)a3 = np.linspace(1,10,3)a4 = np.indices((3,4))a5 = np.random.rand(3,4)a6 = np.ones((3,4),int)a7 = np.empty((3,4),int)print(a1)print('===========================================================')print(a2)print('===========================================================')print(a3)print('===========================================================')print(a4)print('===========================================================')print(a5)print('===========================================================')print(a6)print('===========================================================')print(a7)=================================================================================[1 2 3 4 5 6]===========================================================[1 4 7]===========================================================[ 1. 5.5 10. ]===========================================================[[[0 0 0 0] [1 1 1 1] [2 2 2 2]] [[0 1 2 3] [0 1 2 3] [0 1 2 3]]]===========================================================[[0.00948155 0.7145306 0.50490391 0.69827703] [0.18164292 0.78440752 0.75091258 0.31184394] [0.17199081 0.3789 0.69886588 0.0476422 ]]===========================================================[[1 1 1 1] [1 1 1 1] [1 1 1 1]]===========================================================[[0 0 0 0] [0 0 0 0] [0 0 0 0]]
在建立一個(gè)簡(jiǎn)單的數(shù)組后,可以查看數(shù)組的屬性
屬性 描述 ndarray.ndim 數(shù)組軸的個(gè)數(shù),也被稱為秩 ndarray.shape 數(shù)組在每個(gè)維度上大小的整數(shù)元組 ndarray.size 數(shù)組元素的總個(gè)數(shù) ndarray.dtype 數(shù)組元素的數(shù)據(jù)類型,dtype類型可以用于創(chuàng)建數(shù)組 ndarray.itemsize 數(shù)組中每個(gè)元素的字節(jié)大小 ndarray.data 包含實(shí)際數(shù)組元素的緩沖區(qū)地址 ndarray.flat 數(shù)組元素的迭代器import numpy as npa6 = np.ones((3,4),int)print(a6)print('=========================================')print(a6.ndim)print('=========================================')print(a6.shape)print('=========================================')print(a6.size)print('=========================================')print(a6.dtype)print('=========================================')print(a6.itemsize)print('=========================================')print(a6.data)print('=========================================')print(a6.flat)=================================================================================[[1 1 1 1] [1 1 1 1] [1 1 1 1]]=========================================2=========================================(3, 4)=========================================12=========================================int32=========================================4=========================================<memory at 0x0000020D79545908>=========================================<numpy.flatiter object at 0x0000020D103B1180>
數(shù)組在numpy中被當(dāng)做對(duì)象,可以采用< a >.< b >()方式調(diào)用一些方法。
ndarray類的形態(tài)操作方法
方法 描述 ndarray.reshape(n,m) 不改變數(shù)組ndarray,返回一個(gè)維度為(n,m)的數(shù)組 ndarray.resize(new_shape) 與reshape()作用相同,直接修改數(shù)組ndarray ndarray.swapaxes(ax1,ax2) 將數(shù)組n個(gè)維度中任意兩個(gè)維度進(jìn)行調(diào)換 ndarray.flatten() 對(duì)數(shù)組進(jìn)行降維,返回一個(gè)折疊后的一維數(shù)組 ndarray.ravel() 作用同np.flatten(),但返回的是一個(gè)視圖ndarray類的索引和切片方法
方法 描述 x[i] 索引第i個(gè)元素 x[-i] 從后向前索引第i個(gè)元素 x[n:m] 默認(rèn)步長(zhǎng)為1,從前向后索引,不包含m x[-m:-n] 默認(rèn)步長(zhǎng)為1,從前向后索引,結(jié)束位置為n x[n: m :i] 指定i步長(zhǎng)的由n到m的索引除了ndarray類型方法外,numpy庫(kù)提供了一匹運(yùn)算函數(shù)
函數(shù) 描述 np.add(x1,x2[,y]) y = x1 + x2 np.subtract(x1,x2[,y]) y = x1 -x2 np.multiply(x1,x2[,y]) y = x1 * x2 np.divide(x1,x2[,y]) y = x1 /x2 np floor_divide(x1,x2[,y]) y = x1 // x2 np.negative(x[,y]) y = -x np.power(x1,x2[,y]) y = x1 ** x2 np.remainder(x1,x2[,y]) y = x1 % x2numpy庫(kù)的比較運(yùn)算函數(shù)
函數(shù) 符號(hào)描述 np.equal(x1,x2[,y]) y = x1 == x2 np.not_equal(x1,x2[,y]) y = x1 != x2 np.less(x1,x2,[,y]) y = x1 < x2 np.less_equal(x1,x2,[,y]) y = x1 < = x2 np.greater(x1,x2,[,y]) y = x1 > x2 np.greater_equal(x1,x2,[,y]) y >= x1 >= x2 np.where(condition[x,y]) 根據(jù)條件判斷是輸出x還是ynumpy庫(kù)的其他運(yùn)算函數(shù)
函數(shù) 描述 np.abs(x) 計(jì)算濟(jì)源元素的整形、浮點(diǎn)、或復(fù)數(shù)的絕對(duì)值 np.sqrt(x) 計(jì)算每個(gè)元素的平方根 np.squre(x) 計(jì)算每個(gè)元素的平方 np.sign(x) 計(jì)算每個(gè)元素的符號(hào)1(+),0,-1(-) np.ceil(x) 計(jì)算大于或等于每個(gè)元素的最小值 np.floor(x) 計(jì)算小于或等于每個(gè)元素的最大值 np.rint(x[,out]) 圓整,取每個(gè)元素為最近的整數(shù),保留數(shù)據(jù)類型 np.exp(x[,out]) 計(jì)算每個(gè)元素的指數(shù)值 np.log(x),np.log10(x),np.log2(x) 計(jì)算自然對(duì)數(shù)(e),基于10,,2的對(duì)數(shù),log(1+x)到此這篇關(guān)于Python基礎(chǔ)之numpy庫(kù)的使用的文章就介紹到這了,更多相關(guān)Python numpy庫(kù)的使用內(nèi)容請(qǐng)搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!
相關(guān)文章:
1. SXNA RSS Blog 聚合器程序2. PHP設(shè)計(jì)模式中工廠模式深入詳解3. ASP常用日期格式化函數(shù) FormatDate()4. JSP的Cookie在登錄中的使用5. ASP 信息提示函數(shù)并作返回或者轉(zhuǎn)向6. XML 增、刪、改和查示例7. 使用Spry輕松將XML數(shù)據(jù)顯示到HTML頁(yè)的方法8. ASP動(dòng)態(tài)網(wǎng)頁(yè)制作技術(shù)經(jīng)驗(yàn)分享9. webpack高級(jí)配置與優(yōu)化詳解10. jsp實(shí)現(xiàn)登錄驗(yàn)證的過濾器
