我有一个包含五列的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值是无序的(它们是复线的坐标)。 是否有实现此目标的有效方法?
答案 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