Numpy MaskedArray.astype() function | Python (original) (raw)

Last Updated : 16 Jun, 2021

In many circumstances, datasets can be incomplete or tainted by the presence of invalid data. For example, a sensor may have failed to record a data, or recorded an invalid value. The numpy.ma module provides a convenient way to address this issue, by introducing masked arrays.Masked arrays are arrays that may have missing or invalid entries.
numpy.MaskedArray.astype() function returns a copy of the MaskedArray cast to given newtype.

Syntax : numpy.MaskedArray.astype(newtype)
Parameters:
newtype : Type in which we want to convert the masked array.
Return : [MaskedArray] A copy of self cast to input newtype. The returned record shape matches self.shape.

Code #1 :

Python3

import numpy as geek

import numpy.ma as ma

in_arr = geek.array([ 1 , 2 , 3 , - 1 , 5 ])

print ( "Input array : " , in_arr)

mask_arr = ma.masked_array(in_arr, mask = [ 0 , 0 , 1 , 0 , 0 ])

print ( "Masked array : " , mask_arr)

print (mask_arr.dtype)

out_arr = mask_arr.astype( 'float64' )

print ( "Output typecasted array : " , out_arr)

print (out_arr.dtype)

Output:

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

Code #2 :

Python3

import numpy as geek

import numpy.ma as ma

in_arr = geek.array([ 10.1 , 20.2 , 30.3 , 40.4 , 50.5 ], dtype = 'float64' )

print ( "Input array : " , in_arr)

mask_arr = ma.masked_array(in_arr, mask = [ 1 , 0 , 1 , 0 , 0 ])

print ( "Masked array : " , mask_arr)

print (mask_arr.dtype)

out_arr = mask_arr.astype( 'int32' )

print ( "Output typecasted array : " , out_arr)

print (out_arr.dtype)

Output:

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

Similar Reads