Numpy MaskedArray.var()函数| Python
numpy.MaskedArray.var()函数用于计算沿指定轴的方差。它返回掩码数组元素的方差,即分布分布的度量。默认情况下为展平数组计算方差,否则在指定轴上计算。
Syntax : numpy.ma.var(arr, axis=None, dtype=None, out=None, ddof=0, keepdims=False)
Parameters:
arr : [ ndarray ] Input masked array.
axis :[ int, optional] Axis along which the variance is computed. The default (None) is to compute the variance 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.
ddof : [int, optional] “Delta Degrees of Freedom”: the divisor used in the calculation is N – ddof, where N represents the number of elements. By default ddof is zero.
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 : [variance_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:
Python3
# Python program explaining
# numpy.MaskedArray.var() 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.var
# methods to masked array
out_arr = ma.var(mask_arr)
print ("variance of masked array along default axis : ", out_arr)
Python3
# Python program explaining
# numpy.MaskedArray.var() 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.var methods
# to masked array
out_arr1 = ma.var(mask_arr, axis = 0)
print ("variance of masked array along 0 axis : ", out_arr1)
out_arr2 = ma.var(mask_arr, axis = 1)
print ("variance of masked array along 1 axis : ", out_arr2)
Input array : [[ 1 2]
[ 3 -1]
[ 5 -3]]
Masked array : [[-- 2]
[-- -1]
[5 -3]]
variance of masked array along default axis : 9.1875
代码#2:
Python3
# Python program explaining
# numpy.MaskedArray.var() 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.var methods
# to masked array
out_arr1 = ma.var(mask_arr, axis = 0)
print ("variance of masked array along 0 axis : ", out_arr1)
out_arr2 = ma.var(mask_arr, axis = 1)
print ("variance of masked array along 1 axis : ", out_arr2)
输出:
Input array : [[1 0 3]
[4 1 6]]
Masked array : [[1 0 3]
[4 1 --]]
variance of masked array along 0 axis : [2.25 0.25 0. ]
variace of masked array along 1 axis : [1.55555556 2.25 ]