Is apply_over_axes working for np.ma function?
Dear all, I tried the np.apply_over_axes and np.ma.apply_over_axes, it seems that they are not working for the masked array? I searched the wiki and there are two tickets (1480,8417) related with this, it seems that it's a solved issue? the example is below: In [67]: a = np.arange(60.).reshape(3,4,5) In [68]: tempm = np.tile(np.array([True,True,False,False,False]),(3,4,1)) In [69]: b = np.ma.masked_array(a,mask=tempm) In [70]: np.apply_over_axes(np.ma.sum,a,[1,2]) Out[70]: array([[[ 190.]], [[ 590.]], [[ 990.]]]) In [71]: np.ma.sum(np.ma.sum(a,axis=1),axis=1) Out[71]: array([ 190., 590., 990.]) In [72]: np.ma.sum(np.ma.sum(b,axis=1),axis=1) Out[72]: masked_array(data = [126.0 366.0 606.0], mask = [False False False], fill_value = 1e+20) In [73]: np.apply_over_axes(np.ma.sum,b,[1,2]) Out[73]: array([[[ 190.]], [[ 590.]], [[ 990.]]]) In [74]: np.apply_over_axes(np.sum,b,[1,2]) Out[74]: array([[[ 190.]], [[ 590.]], [[ 990.]]]) In [75]: np.ma.apply_over_axes(np.sum,b,[1,2]) Out[75]: array([[[ 190.]], [[ 590.]], [[ 990.]]]) In [76]: np.ma.apply_over_axes(np.ma.sum,b,[1,2]) Out[76]: array([[[ 190.]], [[ 590.]], [[ 990.]]]) thanks, Chao -- *********************************************************************************** Chao YUE Laboratoire des Sciences du Climat et de l'Environnement (LSCE-IPSL) UMR 1572 CEA-CNRS-UVSQ Batiment 712 - Pe 119 91191 GIF Sur YVETTE Cedex Tel: (33) 01 69 08 29 02; Fax:01.69.08.77.16 ************************************************************************************
participants (1)
-
Chao YUE