您好,登錄后才能下訂單哦!
數據很大形況下是凌亂的,并且含有空白的或者無法處理的字符,掩碼式數組可以很好的忽略殘缺的或者是無效的數據點。掩碼式數組由一個正常數組與一個布爾式數組組成,若布爾數組中為Ture,則表示正常數組中對應下標的值無效,反之False表示對應正常數組的值有效。
創建方法為,首先創建一個布爾型數組,然后通過numpy.ma子程序包提供的函數來創建掩碼式數組,掩碼式數組提供了各種所需函數。
創建實例如下:
import numpy as np origin = np.arange(16).reshape(4,4) #生成一個4×4的矩陣 np.random.shuffle(origin) #隨機打亂矩陣元素 random_mask = np.random.randint(0,2,size=origin.shape)#生成隨機[0,2)的整數的4×4矩陣 mask_array = np.ma.array(origin,mask=random_mask)#生成掩碼式矩陣 print(mask_array)
結果如下:
[[12 13 -- 15] [8 9 10 --] [-- -- -- 3] [-- 5 6 --]]
用于:
1.對負數取對數
import numpy as np triples = np.arange(0,10,3)#每隔3取0到10中的整數,(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)#掩碼式取對數 print(ma_log)
結果為:
[-- 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掩碼式數組詳解就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持億速云。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。