En muchas circunstancias, los conjuntos de datos pueden estar incompletos o contaminados por la presencia de datos no válidos. Por ejemplo, es posible que un sensor no haya podido registrar un dato o haya registrado un valor no válido. El numpy.ma
módulo proporciona una forma conveniente de abordar este problema mediante la introducción de arrays enmascaradas. Las arrays enmascaradas son arrays que pueden tener entradas faltantes o no válidas.
numpy.MaskedArray.masked_where()
La función se usa para enmascarar una array donde se cumple una condición. Devuelve arr como una array enmascarada donde la condición es Verdadera. Cualquier valor enmascarado de arr o condición también se enmascara en la salida.
Sintaxis:
numpy.ma.masked_where(condition, arr, copy=True)
Parámetros:
condición: [array_like] Condición de enmascaramiento. Cuando la condición pruebe la igualdad de los valores de punto flotante, considere usar masked_values en su lugar.
arr : [ndarray] Array de entrada que queremos enmascarar.
copy: [bool] Si es verdadero (predeterminado), crea una copia de arr en el resultado. Si es falso, modifique arr en su lugar y devuelva una vista.Retorno: [ArrayMascara] El resultado de enmascarar arr donde la condición es Verdadera..
Código #1:
# Python program explaining # numpy.MaskedArray.masked_where() method # importing numpy as geek # and numpy.ma module as ma import numpy as geek import numpy.ma as ma # creating input array in_arr = geek.array([1, 2, 3, -1, 2]) print ("Input array : ", in_arr) # applying MaskedArray.masked_where methods # to input array where value<= 1 mask_arr = ma.masked_where(in_arr<= 1, in_arr) print ("Masked array : ", mask_arr)
Input array : [ 1 2 3 -1 2] Masked array : [-- 2 3 -- 2]
Código #2:
# Python program explaining # numpy.MaskedArray.masked_where() method # importing numpy as geek # and numpy.ma module as ma import numpy as geek import numpy.ma as ma # creating input array in_arr1 in_arr1 = geek.arange(4) print ("1st Input array : ", in_arr1) # applying MaskedArray.masked_where methods # to input array in_arr1 where value = 1 mask_arr1 = ma.masked_where(in_arr1 == 1, in_arr1) print ("1st Masked array : ", mask_arr1) # creating input array in_arr2 in_arr2 = geek.arange(4) print ("2nd Input array : ", in_arr2) # applying MaskedArray.masked_where methods # to input array in_arr2 where value = 1 mask_arr2 = ma.masked_where(in_arr2 == 3, in_arr2) print ("2nd Masked array : ", mask_arr2) # applying MaskedArray.masked_where methods # to 1st masked array where second masked array # is used as condition res_arr = ma.masked_where(mask_arr1 == 3, mask_arr2) print("Resultant Masked array : ", res_arr)
1st Input array : [0 1 2 3] 1st Masked array : [0 -- 2 3] 2nd Input array : [0 1 2 3] 2nd Masked array : [0 1 2 --] Resultant Masked array : [0 -- 2 --]
Publicación traducida automáticamente
Artículo escrito por jana_sayantan y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA