Numpy MaskedArray.median()函数| Python
numpy.MaskedArray.median()
函数用于计算掩码数组沿指定轴的中位数。它返回数组元素的中位数。
Syntax : numpy.ma.median(arr, axis=None, out=None, overwrite_input=False, keepdims=False)
Parameters:
arr : [ ndarray ] Input masked array.
axis :[ int, optional] Axis along which the median is computed. The default (None) is to compute the median over the flattened array.
dtype : [dtype, optional] Type of the returned array, as well as of the accumulator in which the elements are multiplied.
out : [ndarray, optional] A location into which the result is stored.
-> If provided, it must have a shape that the inputs broadcast to.
-> If not provided or None, a freshly-allocated array is returned.
overwrite_input :[bool, optional] If True, then allow use of memory of input array for calculations. The input array will be modified by the call to median. This will save memory when you do not need to preserve the contents of the input array. Treat the input as undefined, but it will probably be fully or partially sorted. Default is False. Note that, if overwrite_input is True, and the input is not already an ndarray, an error will be raised.
keepdims :[ bool, optional] If this is set to True, the axes which are reduced are left in the result as dimensions with size one. With this option, the result will broadcast correctly against the input array.
Return : [median_along_axis, ndarray] A new array holding the result is returned unless out is specified, in which case a reference to out is returned.
代码#1:
# Python program explaining
# numpy.MaskedArray.median() 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, -3]])
print ("Input array : ", in_arr)
# Now we are creating a masked array.
# by making entry as invalid.
mask_arr = ma.masked_array(in_arr, mask =[[1, 0], [ 1, 0], [ 0, 0]])
print ("Masked array : ", mask_arr)
# applying MaskedArray.median
# methods to masked array
out_arr = ma.median(mask_arr)
print ("median of masked array along default axis : ", out_arr)
Input array : [[ 1 2]
[ 3 -1]
[ 5 -3]]
Masked array : [[-- 2]
[-- -1]
[5 -3]]
median of masked array along default axis : 0.5
代码#2:
# Python program explaining
# numpy.MaskedArray.median() 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, 0, 3], [ 4, 1, 6]])
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 =[[ 0, 0, 0], [ 0, 0, 1]])
print ("Masked array : ", mask_arr)
# applying MaskedArray.median methods
# to masked array
out_arr1 = ma.median(mask_arr, axis = 0)
print ("median of masked array along 0 axis : ", out_arr1)
out_arr2 = ma.median(mask_arr, axis = 1)
print ("median of masked array along 1 axis : ", out_arr2)
Input array : [[1 0 3]
[4 1 6]]
Masked array : [[1 0 3]
[4 1 --]]
median of masked array along 0 axis : [2.5 0.5 3.0]
median of masked array along 1 axis : [1.0 2.5]