【发布时间】:2017-06-27 21:51:16
【问题描述】:
我有一个如下的 numpy 数组:
x = array([[ 1., 2., 3.],
[ 4., 5., 6.],
[ nan, 8., 9.]])
我想计算每列的平均值。如果我使用np.mean(x, axis=0),那么我得到nan 作为第一列的平均值,并使用x[~np.isnan(x)] 过滤掉nan 值将数组展平为一维数组。
我需要使用旧版本的numpy,所以我不能使用numpy.nanmean
编辑:This comment 解释了为什么这不是发布的问题的重复
【问题讨论】:
-
@StefanoNardo 很好的发现。链接问答的答案帖子基本上建议使用
numpy.ma.masked_array,我发现这不是有效的,或者以某种形式使用nanmean,OP 不能使用。鉴于这种情况,恕我直言,使用常规布尔数组进行屏蔽将是可行的方法。