Python 从数据帧创建形状多边形的最快方法
我试图从包含以下列的数据框中创建一个几何列(多边形):xmin、xmax、ymin、ymax 这就是我的数据帧(df)的外观: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
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”对于我的需求来说相当慢(数据集非常大)。因此,我正在寻找一种更快的方法来达到预期的结果 您的数据是否可以存储在内存中?可能是的,至少大多数情况下是这样(我将其用于不同的数据集)