例如,我有这个数组并计算行的平均值:
a = np.array([[1,2,3],[2,np.NaN,4]])
mins = np.min(a, axis = 1)
问题是输出是:[1. nan]
。
如何忽略a中的nan并得到结果[1 2]
?
答案 0 :(得分:20)
另一种更简洁,更快速的替代方法是使用numpy.nanmin()
功能,它完全符合您的要求。
答案 1 :(得分:4)
您可以使用蒙面数组
mins = list(np.min(np.ma.masked_array(a, np.isnan(a)), axis=1))