Open In App

Numpy MaskedArray.astype() function | Python

Improve
Improve
Like Article
Like
Save
Share
Report

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




# 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)


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




# 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)


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

 



Last Updated : 16 Jun, 2021
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads