我有行和列坐标的数组

idx_test_r = np.array([0, 0, 2, 0, 2, 4])
idx_test_c = np.array([0, 1, 0, 2, 2, 6])

# in coordinates format
idx_test = np.stack((idx_test_r, idx_test_c), axis=-1)

和两个点的行坐标和列坐标

point_r = np.array([0, 2])
point_c = np.array([0, 2])

也就是说,我有坐标为(0, 0), (2, 2)的点.

我想为idx_test中的每一行确定它是等于(0, 0)还是等于(2, 2). 就是我想要一个结果 [True, False, False, False, True, False] 对于这里提出的这个 case .

我知道如何使用for循环(这个站点上有很多例子),但是我需要在一个循环中多次调用这个函数.

因此,speed是非常令人担忧的.

Edit

如果我有一个二维数组,而不是一维数组idx_test_r,会怎么样? idx_test_r = np.array([[0, 0, 2, 0, 2, 4], [1, 1, 3, 1, 3, 5]]) idx_test_c的情况也是如此? 我想到了

equal_to_bad_idx = np.logical_or.reduce(np.all(bad_idx[:, None, :] == np.reshape(all_idx, (-1, 2)), axis=2))

但这是相当缓慢的.

推荐答案

另一种解决方案:

x = np.stack([point_r, point_c]).T
print(np.logical_or.reduce((x[:, np.newaxis] == idx_test).all(axis=2)))

打印:

[ True False False False  True False]

Python相关问答推荐

如果在第一行之前不存在其他条件,如何获得满足口罩条件的第一行?

Django序列化器没有验证或保存数据

如何知道标志是否由用户传递或具有默认值?

Python:记录而不是在文件中写入询问在多文件项目中记录的最佳实践

创建带有二维码的Flask应用程序,可重定向到特定端点

给定数据点,制定它们的关系

NumPy中的右矩阵划分,还有比NP.linalg.inv()更好的方法吗?

从今天起的future 12个月内使用Python迭代

在Python中为变量的缺失值创建虚拟值

Odoo 14 hr. emergency.public内的二进制字段

滚动和,句号来自Pandas列

如何检测背景有噪的图像中的正方形

Python 约束无法解决n皇后之谜

图像 pyramid .难以创建所需的合成图像

根据二元组列表在pandas中创建新列

如何从pandas的rame类继承并使用filepath实例化

从spaCy的句子中提取日期

在含噪声的3D点网格中识别4连通点模式

连接一个rabrame和另一个1d rabrame不是问题,但当使用[...]'运算符会产生不同的结果

CommandeError:模块numba没有属性generated_jit''''