當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Python Numpy MaskedArray.masked_invalid()用法及代碼示例


在許多情況下,數據集可能不完整或被無效數據汙染。例如,傳感器可能無法記錄數據或記錄了無效值。的numpy.ma模塊通過引入掩碼數組提供了解決此問題的便捷方法。掩碼數組是可能缺少條目或無效條目的數組。

numpy.MaskedArray.masked_invalid() 該函數用於屏蔽出現無效值(NaNs或infs)的數組。 masked_where,帶有 condition = ~(numpy.isfinite(arr))

用法: numpy.ma.masked_invalid(arr, copy=True)

參數:
arr :[ndarray]我們要屏蔽的輸入數組。
copy :[bool]如果為True(默認),則在結果中複製arr。如果為False,則修改arr並返回視圖。

Return :[MaskedArray]屏蔽後的結果數組。

代碼1:

# Python program explaining 
# numpy.MaskedArray.masked_invalid() method  
  
# importing numpy as geek  
# and numpy.ma module as ma 
import numpy as geek 
import numpy.ma as ma 
  
# creating input array with invalid values 
in_arr = geek.array([1, 2, geek.nan, -1, geek.inf]) 
print ("Input array:", in_arr) 
  
# applying MaskedArray.masked_invalid   
# methods to input array  
mask_arr = ma.masked_invalid(in_arr) 
print ("Masked array:", mask_arr)
輸出:
Input array: [ 1.  2. nan -1. inf]
Masked array: [1.0 2.0 -- -1.0 --]

代碼2:

# Python program explaining 
# numpy.MaskedArray.masked_invalid() method  
  
# importing numpy as geek  
# and numpy.ma module as ma 
import numpy as geek 
import numpy.ma as ma 
  
# creating input array with invalid element 
in_arr = geek.array([5e8, 3e-5, geek.nan, 4e4, 5e2]) 
print ("Input array:", in_arr) 
  
# applying MaskedArray.masked_invalid   
# methods to input array  
mask_arr = ma.masked_invalid(in_arr) 
print ("Masked array:", mask_arr)
輸出:
Input array: [5.e+08 3.e-05    nan 4.e+04 5.e+02]
Masked array: [500000000.0 3e-05 -- 40000.0 500.0]


相關用法


注:本文由純淨天空篩選整理自jana_sayantan大神的英文原創作品 Numpy MaskedArray.masked_invalid() function | Python。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。