Numpy:最大值是 NaN

str*_*ter 3 python numpy

我关于 Python 的问题真的很简单:我必须修改什么才能使函数max()为任何编译器返回真实值?

import numpy as np
a = np.array([-1, 0, 1, np.nan])
# The maximal value is 1. It is not nan!
a.max()
Run Code Online (Sandbox Code Playgroud)

有可能使用以下代码,但对我来说看起来很难看:

a[np.logical_not(np.isnan(a))].max()
Run Code Online (Sandbox Code Playgroud)

Sim*_*ggs 6

正如@Divakar 所回答的,使用np.nanmax(a)将解决您的问题。