【问题标题】:Average non-zero elements in a numpy array (2D)numpy 数组(2D)中的平均非零元素
【发布时间】:2021-09-21 21:39:34
【问题描述】:

我有一个 numpy 二维数组,类似于以下内容,我希望对列中的非零值进行平均。

0 0 0 0
0 2 5 0
1 5 8 1
1 5 8 2
0 2 5 0
0 0 0 0 

输出:

[1/2 14/4 26/4 3/2]

这个问题有一个 numpy 矩阵的解决方案,但我有一个 numpy 数组。任何想法将不胜感激。

【问题讨论】:

    标签: python arrays numpy


    【解决方案1】:

    假设您有一个数组a,您可以将列总和除以非零计数((a != 0).sum(0) 为每列提供非零值的计数):

    a.sum(0) / (a != 0).sum(0)
    # array([1. , 3.5, 6.5, 1.5])
    

    【讨论】:

      猜你喜欢
      • 2013-08-02
      • 1970-01-01
      • 2011-06-05
      • 2018-04-21
      • 1970-01-01
      • 2018-12-03
      • 2021-03-07
      • 2014-12-24
      相关资源
      最近更新 更多