计算忽略NaN值的行的最小值

时间:2014-11-27 23:49:28

标签: python numpy

例如,我有这个数组并计算行的平均值:

a = np.array([[1,2,3],[2,np.NaN,4]])

mins = np.min(a, axis = 1)

问题是输出是:[1. nan]。 如何忽略a中的nan并得到结果[1 2]

2 个答案:

答案 0 :(得分:20)

另一种更简洁,更快速的替代方法是使用numpy.nanmin()功能,它完全符合您的要求。

答案 1 :(得分:4)

您可以使用蒙面数组

mins = list(np.min(np.ma.masked_array(a, np.isnan(a)), axis=1))