我有一个包含浮点值和 NaN 值的数组。我正在取这个数组的中位数。在当前情况下,中位数可能是某个值或 NaN。我的问题是,如果中位数是 NaN,它应该返回数组中的最大值而不是 NaN。
数组示例,
x = np.array([NaN,NaN,0.1,0.002,0.14,NaN,NaN,NaN])
在这个数组中 np.median 是 NaN。当中位数为 NaN 时,它应该从数组中返回最大值,我的意思是它应该从数组中返回 (0.14) 值。
如何返回这个值?
请您参考如下方法:
import numpy as np
from numpy import NaN
x = np.array([NaN,NaN,0.1,0.002,0.14,NaN,NaN,NaN])
def getMedian(arr):
med = np.median(arr)
if np.isnan(med):
return np.nanmax(arr)
else:
return med
print getMedian(x)
