如何计算给定数组列中非零值的数量?

时间:2017-05-11 02:55:43

标签: python arrays python-3.x numpy count

我有一个如下数组:

null

我想确定每行中索引[3]的总和。 例如,在此我希望得到[[0, 0, 0, 1], [1, 0, 0, 0], [0, 1, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1], etc

我正在尝试

2

但我得到了一个越​​界错误。有什么想法吗?

2 个答案:

答案 0 :(得分:2)

您需要将数组索引为a[:, 3](所有行的第三列),然后您可以执行以下操作:

# if the array contains only 0 and 1
a[:,3].sum()
# 2

# if the array can have other values besides 0 and 1
np.count_nonzero(a[:,3])
# 2

以下是有关numpy indexing的更多信息。

答案 1 :(得分:1)

简单地将列表作为n[:,3]然后正常求和,因为求零不会做任何事情:

>>> numpy.sum(n[:,3])
2