检查坐标间隔中是否存在值

时间:2018-07-05 15:11:01

标签: python pandas

我有一个包含五列的pandas数据框:x边界,y边界和float属性,我们将其称为pmin。像这样:

A = pd.DataFrame(
    {
        'xmin':[0,0,0,0,0,1,1,2,2],
        'xmax':[1,1,1,1,1,2,2,3,3],
        'ymin':[0,1,2,3,4,2,3,1,3],
        'ymax':[1,2,3,4,5,3,4,2,4],
        'pmin':[12,23,54,48,31,42,20,13,8]
    }
)

一个B数据帧(或numpy数组)将包含(x,y,p)三元组。 我首先要检查这些值是否与A中的值匹配,而不是在乎pmin,然后在上面加上条件(p

由于实数A有成千上万的行,而B可能有成千上万的行,所以遍历行是不可行的。另外,x和y值是无序的(它们是复线的坐标)。

是否有实现此目标的有效方法?

1 个答案:

答案 0 :(得分:0)

我想你想要这个:

B = (.3, 1.8, 28)
m = ((A['xmin']<=B[0])&(A['xmax']>=B[0]))&((A['ymin']<=B[1])&(A['ymax']>=B[1]))
np.any(m), B[2]<A[m]['pmin'].iloc[0] if np.any(m) else False