我正在尝试从包含以下列的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)
虽然上面的代码可以正常工作,但对于我的需要(非常大的数据集),“应用”的速度相当慢。因此,我正在寻找一种更快的方法来达到预期的效果。