您好,登錄后才能下訂單哦!
數(shù)據(jù)很大形況下是凌亂的,并且含有空白的或者無(wú)法處理的字符,掩碼式數(shù)組可以很好的忽略殘缺的或者是無(wú)效的數(shù)據(jù)點(diǎn)。掩碼式數(shù)組由一個(gè)正常數(shù)組與一個(gè)布爾式數(shù)組組成,若布爾數(shù)組中為T(mén)ure,則表示正常數(shù)組中對(duì)應(yīng)下標(biāo)的值無(wú)效,反之False表示對(duì)應(yīng)正常數(shù)組的值有效。
創(chuàng)建方法為,首先創(chuàng)建一個(gè)布爾型數(shù)組,然后通過(guò)numpy.ma子程序包提供的函數(shù)來(lái)創(chuàng)建掩碼式數(shù)組,掩碼式數(shù)組提供了各種所需函數(shù)。
創(chuàng)建實(shí)例如下:
import numpy as np origin = np.arange(16).reshape(4,4) #生成一個(gè)4×4的矩陣 np.random.shuffle(origin) #隨機(jī)打亂矩陣元素 random_mask = np.random.randint(0,2,size=origin.shape)#生成隨機(jī)[0,2)的整數(shù)的4×4矩陣 mask_array = np.ma.array(origin,mask=random_mask)#生成掩碼式矩陣 print(mask_array)
結(jié)果如下:
[[12 13 -- 15] [8 9 10 --] [-- -- -- 3] [-- 5 6 --]]
用于:
1.對(duì)負(fù)數(shù)取對(duì)數(shù)
import numpy as np triples = np.arange(0,10,3)#每隔3取0到10中的整數(shù),(0,3,6,9) signs = np.ones(10)#(1,1,1,1,1,1,1,1,1) signs[triples] = -1#(-1,1,1,-1,1,1,-1,1,1,-1) values = signs * 77#(-77,77,77,-77,77,77,-77,77,77,-77) ma_log = np.ma.log(values)#掩碼式取對(duì)數(shù) print(ma_log)
結(jié)果為:
[-- 4.343805421853684 4.343805421853684 -- 4.343805421853684 4.343805421853684 -- 4.343805421853684 4.343805421853684 --]
2.忽略極值
import numpy as np inside = np.ma.masked_outside(array,min,max)
以上這篇Numpy掩碼式數(shù)組詳解就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持億速云。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。