bri*_*ium 3 python numpy python-2.7
我试图找到没有-inf值的数组的最小值.我能找到的是numpy函数来过滤掉NaN而不是-inf:
import numpy as np
np.nanmin([1, 2, np.nan, np.NINF])
Run Code Online (Sandbox Code Playgroud)
所需的输出是:
1
Run Code Online (Sandbox Code Playgroud)
Dan*_*iel 10
使用np.isfinite得到的只有真正的价值:
import numpy as np
a = np.array([1, 2, np.nan, np.NINF])
min_value = a[np.isfinite(a)].min()
# >>> 1.0
Run Code Online (Sandbox Code Playgroud)
选择非-Infs并使用- min忽略-NaNsnp.nanmin
np.nanmin(a[a != -np.inf])
Run Code Online (Sandbox Code Playgroud)
样品运行 -
In [209]: a
Out[209]: array([ 1., 2., nan, -inf])
In [210]: np.nanmin(a[a != -np.inf])
Out[210]: 1.0
Run Code Online (Sandbox Code Playgroud)
使用掩码数组的替代方法:
>>> import numpy as np
>>> np.ma.masked_invalid([1, 2, np.nan, np.NINF]).min()
1.0
Run Code Online (Sandbox Code Playgroud)
masked_invalid将忽略 Inf 和 NaN 值。
| 归档时间: |
|
| 查看次数: |
3278 次 |
| 最近记录: |