Numpy MaskedArray.reshape() function | Python
numpy.MaskedArray.reshape()
function is used to give a new shape to the masked array without changing its data.It returns a masked array containing the same data, but with a new shape. The result is a view on the original array; if this is not possible, a ValueError is raised.
Syntax :
numpy.ma.reshape(shape, order)
Parameters:
shape:[ int or tuple of ints] The new shape should be compatible with the original shape.
order : [‘C’, ‘F’, ‘A’, ‘K’, optional] By default, ‘C’ index order is used.
–> The elements of a are read using this index order.
–> ‘C’ means to index the elements in C-like order, with the last axis index changing fastest, back to the first axis index changing slowest.
–> ‘F’ means to index the elements in Fortran-like index order, with the first index changing fastest, and the last index changing slowest.
–> ‘A’ means to read the elements in Fortran-like index order if m is Fortran contiguous in memory, C-like order otherwise.
–> ‘K’ means to read the elements in the order they occur in memory, except for reversing the data when strides are negative.Return : [ reshaped_array] A new view on the array.
Code #1 :
# Python program explaining # numpy.MaskedArray.reshape() 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 ]) print ( "Input array : " , in_arr) # Now we are creating a masked array. # by making third entry as invalid. mask_arr = ma.masked_array(in_arr, mask = [ 1 , 0 , 1 , 0 ]) print ( "Masked array : " , mask_arr) # applying MaskedArray.reshape methods to make # it a 2d masked array out_arr = mask_arr.reshape( 2 , 2 ) print ( "Output 2D masked array : " , out_arr) |
Input array : [ 1 2 3 -1] Masked array : [-- 2 -- -1] Output 2D masked array : [[-- 2] [-- -1]]
Code #2 :
# Python program explaining # numpy.MaskedArray.reshape() 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([[[ 2e8 , 3e - 5 ]], [[ - 45.0 , 2e5 ]]]) print ( "Input array : " , in_arr) # Now we are creating a masked array. # by making one entry as invalid. mask_arr = ma.masked_array(in_arr, mask = [[[ 1 , 0 ]], [[ 0 , 0 ]]]) print ( "3D Masked array : " , mask_arr) # applying MaskedArray.reshape methods to make # it a 2d masked array out_arr = mask_arr.reshape( 1 , 4 ) print ( "Output 2D masked array : " , out_arr) print () # applying MaskedArray.reshape methods to make # it a 1d masked array out_arr = mask_arr.reshape( 4 , ) print ( "Output 1D masked array : " , out_arr) |
Input array : [[[ 2.0e+08 3.0e-05]] [[-4.5e+01 2.0e+05]]] 3D Masked array : [[[-- 3e-05]] [[-45.0 200000.0]]] Output 2D masked array : [[-- 3e-05 -45.0 200000.0]] Output 1D masked array : [-- 3e-05 -45.0 200000.0]