Skip to main content
 首页 » 编程设计

python之从数组中返回最大值而不是数字值

2025年05月04日33傻小

我有一个包含浮点值和 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)