Numpy掩碼式數組詳解
更新時間:2018年04月17日 10:13:27 作者:開貳錘
下面小編就為大家分享一篇Numpy掩碼式數組詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
數據很大形況下是凌亂的,并且含有空白的或者無法處理的字符,掩碼式數組可以很好的忽略殘缺的或者是無效的數據點。掩碼式數組由一個正常數組與一個布爾式數組組成,若布爾數組中為Ture,則表示正常數組中對應下標的值無效,反之False表示對應正常數組的值有效。
創(chuàng)建方法為,首先創(chuàng)建一個布爾型數組,然后通過numpy.ma子程序包提供的函數來創(chuàng)建掩碼式數組,掩碼式數組提供了各種所需函數。
創(chuàng)建實例如下:
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掩碼式數組詳解就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
您可能感興趣的文章:
相關文章
Python使用signal定時結束AsyncIOScheduler任務的問題
這篇文章主要介紹了Python使用signal定時結束AsyncIOScheduler任務,在使用aiohttp結合apscheduler的AsyncIOScheduler模擬定點并發(fā)的時候遇到兩個問題,針對每個問題給大家詳細介紹,需要的朋友可以參考下2021-07-07