非零值的整数平均值

海曼AB

我有一个大小为N * M的矩阵,我想找到每一行的平均值。值是从1到5,并且没有任何值的条目设置为0。但是,当我想使用以下方法查找均值时,它给了我错误的均值,因为它还计算了具有值的条目0。

matrix_row_mean= matrix.mean(axis=1)

如何获得仅非零值的均值?

迪卡卡(Divakar)

获取每一行的非零计数,并将其用于平均每一行的总和。因此,实现看起来像这样-

np.true_divide(matrix.sum(1),(matrix!=0).sum(1))

如果您使用的是较旧版本的NumPy,则可以使用count的float转换来替换np.true_divide,例如-

matrix.sum(1)/(matrix!=0).sum(1).astype(float)

样品运行-

In [160]: matrix
Out[160]: 
array([[0, 0, 1, 0, 2],
       [1, 0, 0, 2, 0],
       [0, 1, 1, 0, 0],
       [0, 2, 2, 2, 2]])

In [161]: np.true_divide(matrix.sum(1),(matrix!=0).sum(1))
Out[161]: array([ 1.5,  1.5,  1. ,  2. ])

解决该问题的另一种方法是用替换零,NaNs然后使用np.nanmean,这将忽略那些NaNs并实际上是原始的zeros,就像这样-

np.nanmean(np.where(matrix!=0,matrix,np.nan),1)

从性能的角度来看,我建议第一种方法。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何按组查找非零值的平均值?

来自分类Dev

mysql group by和非零值的平均值

来自分类Dev

取非零列的平均值

来自分类Dev

如何获得列值不为零的平均值?

来自分类Dev

Java 整数平均值

来自分类Dev

沿数组轴将零替换为非零的平均值-Python / NumPy

来自分类Dev

SSRS:计算表中缺失值而不是零的平均值(均值)

来自分类Dev

值的条件平均值

来自分类Dev

平均值而不计算零

来自分类Dev

平均值在C中为零

来自分类Dev

平均值而不计算零

来自分类Dev

R:为什么在预测v6.1中有平均值的非零平均值的Arima模型中,AIC等于inf,而在preecsat v5.8中却具有值

来自分类Dev

Python-计算在条件之后开始的值的平均值(例如,在另一列中的第一个非零值之后)

来自分类Dev

5个单元格的平均值(如果非空白或为零)

来自分类Dev

5个单元格的平均值(如果非空白或为零)

来自分类Dev

解析整数后计算平均值

来自分类Dev

读取非负整数列表,并显示最大整数,最小整数和所有整数的平均值

来自分类Dev

获取非空字段的平均值

来自分类Dev

根据每个组的最小值而不考虑零来获取值列表的平均值

来自分类Dev

按加权平均值分组,允许零值权重

来自分类Dev

无论哪种类型的值(整数,时间戳等),都可以动态计算平均值

来自分类Dev

数组某些值的平均值

来自分类Dev

前x个值的平均值

来自分类Dev

特定值组的平均值

来自分类Dev

laravel平均值为空值

来自分类Dev

计算特定值的平均值

来自分类Dev

删除值超出平均值的项目

来自分类Dev

寻找某些值的平均值

来自分类Dev

4个滑杆值的平均值