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 módulo numpy.ma 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.
La función numpy.MaskedArray.astype() devuelve una copia de la conversión de MaskedArray al nuevo tipo dado.
Sintaxis: numpy.MaskedArray.astype(newtype)
Parámetros:
newtype: Tipo en el que queremos convertir la array enmascarada.
Regreso: [MaskedArray] Una copia de self cast para ingresar newtype. La forma de registro devuelta coincide con self.shape.
Código #1:
Python3
# Python program explaining # numpy.MaskedArray.astype() 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, 5]) print ("Input array : ", in_arr) # Now we are creating a masked array of int32 # and making third entry as invalid. mask_arr = ma.masked_array(in_arr, mask =[0, 0, 1, 0, 0]) print ("Masked array : ", mask_arr) # printing the data type of masked array print(mask_arr.dtype) # applying MaskedArray.astype methods to mask array # and converting it to float64 out_arr = mask_arr.astype('float64') print ("Output typecasted array : ", out_arr) # printing the data type of typecasted masked array print(out_arr.dtype)
Input array : [ 1 2 3 -1 5] Masked array : [1 2 -- -1 5] int32 Output typecasted array : [1.0 2.0 -- -1.0 5.0] float64
Código #2:
Python3
# Python program explaining # numpy.MaskedArray.astype() 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([10.1, 20.2, 30.3, 40.4, 50.5], dtype ='float64') print ("Input array : ", in_arr) # Now we are creating a masked array by making # first and third entry as invalid. mask_arr = ma.masked_array(in_arr, mask =[1, 0, 1, 0, 0]) print ("Masked array : ", mask_arr) # printing the data type of masked array print(mask_arr.dtype) # applying MaskedArray.astype methods to mask array # and converting it to int32 out_arr = mask_arr.astype('int32') print ("Output typecasted array : ", out_arr) # printing the data type of typecasted masked array print(out_arr.dtype)
Input array : [10.1 20.2 30.3 40.4 50.5] Masked array : [-- 20.2 -- 40.4 50.5] float64 Output typecasted array : [-- 20 -- 40 50] int32
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