geopandas.GeoDataFrame.explode#

GeoDataFrame.explode(column=None, ignore_index=False, index_parts=False, **kwargs)[来源]#

将多部分几何体分解为多个单独的几何体。

每个包含多部分几何图形的行将被拆分成多个单几何图形的行,从而增加GeoDataFrame的垂直大小。

Parameters:
columnstring, default None

要展开的列。如果是几何列,则多部分几何体被转换为单部分。如果为 None,则使用活动几何列。

ignore_indexbool, default False

如果为 True,结果索引将标记为 0, 1, …, n - 1,忽略 index_parts

index_partsboolean, default False

如果为True,结果索引将是一个多重索引(原始索引加上一个额外的级别,指示多个几何体:每个多部分几何体的每个单一部分几何体都有一个新的零基索引)。

Returns:
GeoDataFrame

每个单独几何体作为地理数据框中单独条目的扩展地理数据框。

另请参阅

GeoDataFrame.dissolve

将几何形状合并为单个观察值。

示例

>>> from shapely.geometry import MultiPoint
>>> d = {
...     "col1": ["name1", "name2"],
...     "geometry": [
...         MultiPoint([(1, 2), (3, 4)]),
...         MultiPoint([(2, 1), (0, 0)]),
...     ],
... }
>>> gdf = geopandas.GeoDataFrame(d, crs=4326)
>>> gdf
    col1               geometry
0  name1  MULTIPOINT ((1 2), (3 4))
1  name2  MULTIPOINT ((2 1), (0 0))
>>> exploded = gdf.explode(index_parts=True)
>>> exploded
      col1     geometry
0 0  name1  POINT (1 2)
  1  name1  POINT (3 4)
1 0  name2  POINT (2 1)
  1  name2  POINT (0 0)
>>> exploded = gdf.explode(index_parts=False)
>>> exploded
    col1     geometry
0  name1  POINT (1 2)
0  name1  POINT (3 4)
1  name2  POINT (2 1)
1  name2  POINT (0 0)
>>> exploded = gdf.explode(ignore_index=True)
>>> exploded
    col1     geometry
0  name1  POINT (1 2)
1  name1  POINT (3 4)
2  name2  POINT (2 1)
3  name2  POINT (0 0)