gpt4 book ai didi

python - 为什么 numpy.count_nonzero(arr) 不能使用指定的轴值?

转载 作者:行者123 更新时间:2023-11-28 18:21:55 28 4
gpt4 key购买 nike

我有一个二维数组,想按行计算值。即使我分配了一个轴值,axis = 1,方法仍然返回单个整数。

x = rng.randint(10, size=(6,3))

x
Out[120]:
array([[3, 3, 8],
[8, 8, 2],
[3, 2, 0],
[8, 8, 3],
[8, 2, 8],
[4, 3, 0]])

np.count_nonzero(x)
Out[121]: 16

np.count_nonzero(x, axis=1)
Out[122]: 16

我尝试直接从文档页面复制示例并得到相同的结果。

np.count_nonzero([[0,1,7,0,0],[3,0,0,2,19]], axis=1)
Out[123]: 5

预期位置:

array([2, 3])

我使用 Python 3.6

有什么想法可能会阻止该方法从跨行返回计数数组吗?

最佳答案

来自 v1.12 文档:

axis : int or tuple, optional
Axis or tuple of axes along which to count non-zeros.
Default is None, meaning that non-zeros will be counted
along a flattened version of ``a``.

.. versionadded:: 1.12.0

所以这个轴参数是新的。

count_nonzerononzero (where) 用来确定它需要分配以返回结果的数组的大小。为此,它不需要轴参数。它只需要快速和简单。如果开发人员将此用途视为其主要理由,则可以解释为什么 axis 是一个较晚添加的内容。

关于python - 为什么 numpy.count_nonzero(arr) 不能使用指定的轴值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44618165/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com