Python 从数据帧创建形状多边形的最快方法

Python 从数据帧创建形状多边形的最快方法,python,pandas,numpy,shapely,Python,Pandas,Numpy,Shapely,我试图从包含以下列的数据框中创建一个几何列(多边形):xmin、xmax、ymin、ymax 这就是我的数据帧(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.

我试图从包含以下列的数据框中创建一个几何列(多边形):xmin、xmax、ymin、ymax

这就是我的数据帧(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)

虽然上面的代码运行良好,“apply”对于我的需求来说相当慢(数据集非常大)。因此,我正在寻找一种更快的方法来达到预期的结果

您的数据是否可以存储在内存中?可能是的,至少大多数情况下是这样(我将其用于不同的数据集)