📜  Numpy MaskedArray.reshape()函数| Python

📅  最后修改于: 2022-05-13 01:55:02.949000             🧑  作者: Mango

Numpy MaskedArray.reshape()函数| Python

numpy.MaskedArray.reshape()函数用于在不更改其数据的情况下为掩码数组赋予新形状。它返回一个包含相同数据但具有新形状的掩码数组。结果是原始数组的视图;如果这是不可能的,则会引发 ValueError。

代码#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]]

代码#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]