GeoPandas
In-depth entryby GeoPandas developers (NumFOCUS affiliated) · Library
Python library extending pandas with geometry columns, spatial operations, reprojection, spatial joins and file I/O for vector geodata
Overview
GeoPandas is an open-source Python library that adds geospatial capabilities to pandas, and is the standard entry point for scripted vector GIS in the Python data stack. A GeoDataFrame is a pandas DataFrame with a geometry column backed by Shapely objects; it reads and writes Shapefile, GeoPackage, GeoJSON, GeoParquet and other formats through pyogrio or Fiona (GDAL), reprojects with pyproj, and performs geometric operations (buffer, intersection, area, distance), spatial joins, overlays, dissolves and nearest-neighbour searches with an STRtree index.
It plots with Matplotlib, exports to interactive Folium or Leaflet maps, and interoperates with PostGIS through SQLAlchemy, with raster libraries such as rasterio and xarray, and with Dask-GeoPandas for larger-than-memory partitions. In a research pipeline it is the tool that turns an assessment roll with coordinates into a GeoDataFrame, joins it to census tracts or OSM amenities, computes distances, and hands a plain DataFrame to statsmodels or scikit-learn.
It is BSD-licensed and maintained by a community of developers with NumFOCUS affiliation, with releases tracking pandas and Shapely 2 vectorized geometry operations.
Limits are those of an in-memory single-process library: datasets must fit in RAM unless partitioned, operations on millions of complex polygons are slower than in PostGIS, raster handling is delegated to other libraries, there is no interactive editing, and GDAL installation can still be a stumbling block on some platforms despite wheels.
Capabilities
- GeoDataFrame with Shapely geometry columns
- Read and write vector formats via GDAL (pyogrio/Fiona) and GeoParquet
- Reprojection with pyproj
- Spatial joins, overlays, dissolve and nearest-neighbour queries
- Static plotting with Matplotlib and interactive maps via Folium
- PostGIS read/write through SQLAlchemy
Typical workflows
- Geocode a sample, build a GeoDataFrame and spatially join census geographies
- Compute distances from properties to OSM amenities for a hedonic model
- Convert Shapefiles to GeoParquet for DuckDB or Polars pipelines
Strengths
- Familiar pandas idioms
- Permissive BSD-3-Clause license
- Interoperates with the scientific Python stack and PostGIS
Limitations
- In-memory; large datasets need Dask-GeoPandas or a database
- Slower than PostGIS on very large polygon operations
- No raster processing or interactive editing
Prerequisites
- Python with pandas, Shapely, pyproj and GDAL-based I/O
Who it is for
- Data scientists working with spatial data
- Urban and real estate researchers
- GIS analysts automating workflows in Python
Alternatives & comparison
PostGIS handles the same operations server-side in SQL with indexing for large data; QGIS offers a GUI and cartography. pandas lacks geometry support; GeoPandas is its spatial extension. DuckDB's spatial extension provides in-process spatial SQL on GeoParquet and is increasingly combined with GeoPandas through Arrow.
- DuckDB
In-process analytical SQL database that queries Parquet, CSV and Arrow data directly from Python, R, Node or the CLI
Open sourceOpen source - H3
Hexagonal hierarchical geospatial indexing system from Uber with a C core and bindings for Python, JavaScript, Java and SQL engines
Open sourceOpen source - Overpass API
Read-only query service for OpenStreetMap data using the Overpass QL language, available on public instances or self-hosted
Open sourceFree - pandas
The standard Python DataFrame library for labeled tabular data, time series and I/O to CSV, Excel, SQL, Parquet and more
Open sourceOpen source - PostGIS
Spatial extension for PostgreSQL adding geometry, geography and raster types with indexing and hundreds of SQL functions
Open sourceOpen source - QGIS
Open-source desktop GIS for viewing, editing, analysing and publishing vector and raster geodata, extensible with Python plugins
Open sourceOpen source
Sources & verification
Primary sources consulted for this record. Claims are tied to the fields each source supports; the automated link checker re-verifies every URL on a schedule.
- LicenseLICENSE.txt (BSD 3-Clause)checked Nov 1, 2026
https://github.com/geopandas/geopandas/blob/main/LICENSE.txt
Supports: license_spdx, source_model
- Official documentationGeoPandas documentationchecked Nov 1, 2026
https://geopandas.org/en/stable/docs.html
Supports: capabilities, data_formats, integrations
- Official sitechecked Nov 1, 2026
- Package registrychecked Nov 1, 2026
- Confidence
- High
- Reviewed
- Nov 1, 2026
- Links
- Verified · Nov 2, 2026
Spotted an error?
More in GIS & mapping
OpenStreetMap
OpenStreetMap Foundation · GIS & mapping
Collaboratively edited world map database released under the ODbL, with planet files, an editing API and derived tiles and extracts
H3
Uber Technologies (open-source project) · GIS & mapping
Hexagonal hierarchical geospatial indexing system from Uber with a C core and bindings for Python, JavaScript, Java and SQL engines
Geocodio
Dotsquare LLC (Geocodio) · GIS & mapping
Geocoding API and spreadsheet service for the US and Canada with batch processing and data appends such as census, districts and time zones
MapLibre
MapLibre Organization · GIS & mapping
Open-source vector-tile map renderers for web (GL JS) and native platforms, forked from Mapbox GL and governed by a community organisation
Leaflet
Volodymyr Agafonkin and contributors · GIS & mapping
Lightweight open-source JavaScript library for interactive tile-based web maps with markers, vector layers and a large plugin ecosystem
Overpass API
Roland Olbricht and the OpenStreetMap community · GIS & mapping
Read-only query service for OpenStreetMap data using the Overpass QL language, available on public instances or self-hosted