np.any(np.not_equal(arr,0),axis = 0)与np.count_nonzero(arr)

时间:2019-07-07 00:48:31

标签: python numpy

我有一个包含很多非零值的数组。使用以下方法计算非零项目的总数时,我得到2个不同的结果:

1)

non_zero_weights = np.any(np.not_equal(lr_l1.coef_, 0), axis=0)
new_vocab_size = non_zero_weights.sum()

2)

np.count_nonzero(lr_l1.coef_)

我在这里想念东西吗?

1 个答案:

答案 0 :(得分:0)

这是正确的:

np.count_nonzero(lr_l1.coef_)

但是,在第一个选项中,您不是要在数组中找到非零值的数目,而是要找出是否存在至少1 个非零值。 np.any()就是这样做的。

应改为以下内容:

non_zero_weights = np.not_equal(lr_l1.coef_, 0)
new_vocab_size = non_zero_weights.sum()