过滤 numpy 数组中的负值

geo*_*ere 1 python arrays indexing numpy filter

我正在尝试编写一个 numpy 函数来显示数组中小于 0 的值的数量。我怎样才能做到这一点?

import numpy as np

array = np.array([10,4,3,5,6,67,3,-12,5,-6,-7])
Run Code Online (Sandbox Code Playgroud)

预期输出:

3
Run Code Online (Sandbox Code Playgroud)

The*_*Guy 6

只需将数组与一个值进行比较(即负值小于零),然后调用sum,因为您只需要计数。

>>> array = np.array([10,4,3,5,6,67,3,-12,5,-6,-7])
>>> (array<0).sum()
3
Run Code Online (Sandbox Code Playgroud)

如果您想要这些值而不仅仅是计数,请使用掩码来获取这些值

>>> array[array<0]
array([-12,  -6,  -7])
Run Code Online (Sandbox Code Playgroud)

  • 是的,很麻木 (2认同)