首先要做的事情是:这不是NumPy的重复:计算除去NaNs的平均值,我将解释原因:
假设我有一个数组
a = array([1,2,3,4])
Run Code Online (Sandbox Code Playgroud)
我希望用重量来平均它
weights = [4,3,2,1]
output = average(a, weights=weights)
print output
2.0
Run Code Online (Sandbox Code Playgroud)
好.所以这非常简单.但现在我有这样的事情:
a = array([1,2,nan,4])
Run Code Online (Sandbox Code Playgroud)
当然,用通常的方法计算平均值nan.我可以避免这个吗?原则上我想忽略nans,所以我想要这样的东西:
a = array([1,2,4])
weights = [4,3,1]
output = average(a, weights=weights)
print output
1.75
Run Code Online (Sandbox Code Playgroud)