我试图在那段代码上获得一些性能,由于某些原因,我觉得我的映射函数中可能有一种避免这种for循环的方法(请参见下面的代码)。
此函数是通过带有apply(lambda x:_mapper(x))的pd.Series对象调用的
我已经浏览了熊猫文档,以找到一种方法来解决这个问题,但没有成功。
def _mapper(self, x):
df = self.df_iris_grid
for idx, polygon in enumerate(df['geometry']):
if x.within(polygon):
return df.iloc[idx, :].to_list()
return 0
而不是逐行检查我的Point x是否位于我的pd.Series df ['geometry']内部定义的多边形(shapely.geometry对象)之一内,我想一次检查一下我的Point x是否位于在df ['geometry']中定义的Polygon之一中,如果是这种情况,我希望能够获取匹配的Polygon的索引。
在此之前,感谢任何可以给我带来帮助的人。
Antoine