[英]Return maximum value from the array instead of not a number value
我有一个数组,其中包含浮点值以及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)
对于任何操作,您都需要排除NaN以获得答案,然后创建第二个仅保存相关值的数组,并使用该数组查找答案。
worklist = []用于x中的项目,如果项目!= NaN:workinglist.append(item)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.