numpy count其中值大于某个值的区别

时间:2016-06-07 19:56:31

标签: python numpy

我对Numpy很陌生,我无法找到符合我要求的任何内容。

有没有什么好方法可以进行count.where(value-value2> threshold)?

我有一个x,y位置numpy数组,我需要计算最近的邻居

类似的东西:

[(93, 256), (93, 256), (93, 256), (93, 257), (54, 130), (55,131)]

我在93 / 256-257上有4个邻居,在54-55 / 130-131上有2个

2 个答案:

答案 0 :(得分:0)

如果您只想计算出现次数:

条件为value1 - value0 > 100

x = np.array([[93, 256], [93, 256], [93, 256], [93, 257], [54, 130], [55,   131]])
y = np.where(x[:,1] - x[:,0] > 100)
print(y[0].shape[0])

如果x和y坐标都有条件,那么你可以这样做:

y = np.where((x[:,1] - 256 < 10) & (x[:,0] - 50 > 40))

希望这有帮助。

答案 1 :(得分:0)

有一种合适的计算邻居的方法 - numpy.isclose(a, b, atol)。以下计算范围为4的邻居:

threshold = 4
np.isclose([93, 256], [94, 256], atol=threshold)

计算元组中两个点的结果:

[True,  True]

也许它会有所帮助。