Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python numpy:在二维数组中,当一个元素满足某个条件时进行计数_Python_Arrays_Numpy_Count - Fatal编程技术网

Python numpy:在二维数组中,当一个元素满足某个条件时进行计数

Python numpy:在二维数组中,当一个元素满足某个条件时进行计数,python,arrays,numpy,count,Python,Arrays,Numpy,Count,我有一个numpy数组,如下所示。我需要第一个元素为2的行数。在下面的数组中,四行以2开头-答案是4。如何在numpy最好地实现这一点?(我不能使用熊猫,但可以使用scipy) 有一个np.count\u nonzero,在一个常见的习惯用法中,它应用于通过计算条件生成的逻辑数组 np.count_nonzero(data[:, 0] == 2) 顺便说一句,这可能只是为了举例,但是如果你的数组像你的一样排序,你也可以使用np.searchsorted np.diff(np.searchsor

我有一个numpy数组,如下所示。我需要第一个元素为2的行数。在下面的数组中,四行以2开头-答案是4。如何在numpy最好地实现这一点?(我不能使用熊猫,但可以使用scipy)


有一个
np.count\u nonzero
,在一个常见的习惯用法中,它应用于通过计算条件生成的逻辑数组

np.count_nonzero(data[:, 0] == 2)
顺便说一句,这可能只是为了举例,但是如果你的数组像你的一样排序,你也可以使用
np.searchsorted

np.diff(np.searchsorted(data[:, 0], (2, 3)))[0]

有一个
np.count\u nonzero
,在一个常见的习惯用法中,它应用于通过计算条件生成的逻辑数组

np.count_nonzero(data[:, 0] == 2)
顺便说一句,这可能只是为了举例,但是如果你的数组像你的一样排序,你也可以使用
np.searchsorted

np.diff(np.searchsorted(data[:, 0], (2, 3)))[0]

首先,取第一列,所有行:

a[:,0]
然后,找到
2
s:

a[:,0] == 2
这将为您提供一个布尔数组。然后,您可以对其求和:

(a[:,0] == 2).sum()

首先,取第一列,所有行:

a[:,0]
然后,找到
2
s:

a[:,0] == 2
这将为您提供一个布尔数组。然后,您可以对其求和:

(a[:,0] == 2).sum()

除上述方法外,还有一种方法

>>> x[:,0]==2
array([False, False,  True,  True,  True,  True, False, False, False,
       False, False, False], dtype=bool)
对于第一列为2的行,将为TRUE

>>> x[x[:,0]==2]
array([[2, 4, 5],
       [2, 4, 5],
       [2, 4, 5],
       [2, 4, 5]])
提供满足所需条件的相应行和。现在,您可以使用形状函数来获取长度

x[x[:,0]==2].shape[0]

除上述方法外,还有一种方法

>>> x[:,0]==2
array([False, False,  True,  True,  True,  True, False, False, False,
       False, False, False], dtype=bool)
对于第一列为2的行,将为TRUE

>>> x[x[:,0]==2]
array([[2, 4, 5],
       [2, 4, 5],
       [2, 4, 5],
       [2, 4, 5]])
提供满足所需条件的相应行和。现在,您可以使用形状函数来获取长度

x[x[:,0]==2].shape[0]