python 遍历geopandas
时间: 2023-10-22 15:11:25 浏览: 86
Python-提取矢量边界
在 geopandas 中,可以使用 `iterrows()` 方法或者 `apply()` 方法来遍历 GeoDataFrame 中的每一行数据。
使用 `iterrows()` 方法:
```python
import geopandas as gpd
# 读取 shapefile 文件
gdf = gpd.read_file('data.shp')
# 遍历 GeoDataFrame 中的每一行数据
for index, row in gdf.iterrows():
# 获取当前行的几何对象和属性值
geometry = row.geometry
attribute = row['attribute']
# 在这里进行你的操作,比如打印
print(geometry, attribute)
```
使用 `apply()` 方法:
```python
import geopandas as gpd
# 读取 shapefile 文件
gdf = gpd.read_file('data.shp')
# 定义一个函数,用于处理每一行数据
def process_row(row):
geometry = row.geometry
attribute = row['attribute']
# 在这里进行你的操作,比如打印
print(geometry, attribute)
# 对每一行数据应用 process_row 函数
gdf.apply(process_row, axis=1)
```
需要注意的是,使用 `iterrows()` 方法会比 `apply()` 方法慢一些,但是它可以返回一个包含每一行数据的元组,更加灵活。而 `apply()` 方法则更加简洁,但是不能返回元组。
阅读全文