Return 数组中的最大值而不是数字值

Return maximum value from the array instead of not a number value

我有一个包含浮点值和 NaN 值的数组。我正在取这个数组的中位数。在当前情况下,中位数可能是某个值或 NaN。我的问题是,如果中位数是 NaN,它应该 return 数组中的最大值而不是 NaN。

数组示例,

x = np.array([NaN,NaN,0.1,0.002,0.14,NaN,NaN,NaN])

在这个数组中 np.median 是 NaN。当中位数为 NaN 时,它应该是数组中的 return 最大值,我的意思是它应该是数组中的 return (0.14) 值。

我怎样才能return这个值?

对于需要从中排除 NaN 以获得答案的任何操作,在创建仅包含相关值的第二个数组并使用该数组找到答案之后。

工作清单=[] 对于 x 中的项目 如果项目!= NaN: workinglist.append(项目)

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)