【发布时间】: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 数组。任何想法将不胜感激。
【问题讨论】:
我有一个 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 数组。任何想法将不胜感激。
【问题讨论】:
假设您有一个数组a,您可以将列总和除以非零计数((a != 0).sum(0) 为每列提供非零值的计数):
a.sum(0) / (a != 0).sum(0)
# array([1. , 3.5, 6.5, 1.5])
【讨论】: