从DataFrame创建形状多边形的最快方法

时间:2019-01-25 10:53:12

标签: python pandas numpy shapely

我正在尝试从包含以下列的DataFrame创建几何列(多边形):xmin,xmax,ymin,ymax。

这是我的DataFrame(df)的样子:

        xmin           xmax          ymin          ymax
0 -715668.153951 -715418.153951  6.419357e+06  6.419607e+06
1 -715668.153951 -715418.153951  6.419357e+06  6.419607e+06
2 -715668.153951 -715418.153951  6.419357e+06  6.419607e+06
3 -715668.153951 -715418.153951  6.419357e+06  6.419607e+06
4 -715668.153951 -715418.153951  6.419357e+06  6.419607e+06

通过以下代码,我设法完成了我想要做的事情:

def polygonise_2Dcells(df_row): 
    return Polygon([(df_row.xmin, df_row.ymin), (df_row.xmax, df_row.ymin),(df_row.xmax, df_row.ymax), (df_row.xmin, df_row.ymax)])

然后:

polys = df.apply(polygonise_2Dcells, axis=1)

虽然上面的代码可以正常工作,但对于我的需要(非常大的数据集),“应用”的速度相当慢。因此,我正在寻找一种更快的方法来达到预期的效果。

0 个答案:

没有答案