溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Numpy掩碼式數(shù)組詳解

發(fā)布時(shí)間:2020-08-24 09:36:43 來(lái)源:腳本之家 閱讀:137 作者:開(kāi)貳錘 欄目:開(kāi)發(fā)技術(shù)

數(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è)參考,也希望大家多多支持億速云。

向AI問(wèn)一下細(xì)節(jié)

免責(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)容。

AI