We are pleased to announce a new release of GeoPandas!
GeoPandas 0.6.0 features a refactor of the internals based on the new
pandas ExtensionArray interface, for better integration with pandas.
Although this change should keep the user interface mostly stable, there
are a few changes summarized below. Further, this release includes a nice
set of other improvements and bug fixes. See the full list below.
Important note! This will be the last release to support Python 2.7 (#1031
GeoPandas can be installed with conda from the conda-forge channel (conda
install -c conda-forge geopandas) or with pip assuming the dependencies are
available for your platform or are already installed (pip install geopandas
Please report any issues, or request new features via our GitHub
What is it?
GeoPandas is an open source project to make working with geospatial data in
python easier. GeoPandas combines the capabilities of pandas and shapely,
providing geospatial operations in pandas and a high-level interface to
multiple shapely geometries. GeoPandas enables you to easily do operations
in python that would otherwise require a spatial database such as PostGIS.
Documentation can be found here: http://geopandas.readthedocs.io/en/stable/
- A refactor of the internals based on the pandas ExtensionArray
interface (#1000 https://github.com/geopandas/geopandas/issues/1000).
The main user visible changes are:
- The .dtype of a GeoSeries is now a 'geometry' dtype (and no longer
a numpy object dtype).
- The .values of a GeoSeries now returns a custom GeometryArray, and
no longer a numpy array. To get back a numpy array of Shapely
can convert explicitly using np.asarray(..).
- The GeoSeries constructor now raises a warning when passed
non-geometry data. Currently the constructor falls back to return a pandas
Series, but in the future this will raise an error (#1085
- The missing value handling has been changed to now separate the
concepts of missing geometries and empty geometries (#601
https://github.com/geopandas/geopandas/issues/601, 1062). In practice
this means that (see the docs
- GeoSeries.isna now considers only missing values, and if you want
to check for empty geometries, you can use GeoSeries.is_empty (
GeoDataFrame.isna already only looked at missing values).
- GeoSeries.dropna now actually drops missing values (before it
didn't drop either missing or empty geometries)
- GeoSeries.fillna only fills missing values (behaviour unchanged).
- GeoSeries.align uses missing values instead of empty geometries by
default to fill non-matching index entries.
New features and improvements:
In addition, the minimum required versions of some dependencies have been
increased: GeoPandas now requires pandas >=0.23.4 and matplotlib >=2.0.1 (
# 1002 https://github.com/geopandas/geopandas/pull/1002).
Thanks to everyone who contributed to this release!
A total of 20 people contributed patches to this release. People with a "+"
by their names contributed a patch for the first time.
- Alan D. Snow +
- Aleksey Bilogur
- Archana Alva +
- François Leblanc
- Geir Arne Hjelle
- Ian Rose +
- James Gaboardi +
- James McBride
- Joris Van den Bossche
- Joshua Wilson
- Kushal Borkar +
- Leah Wasser
- Martin Fleischmann
- Mike Taves +
- René Buffat +
- Sergio Rey +
- Thomas Pinder +
- awa5114 +
- donlo +
- jbrockmendel +
-- The GeoPandas developers