From d8967de600d371f7204b685b1a12a36780bc5451 Mon Sep 17 00:00:00 2001 From: Andreas Meier <50408298+ameier3@users.noreply.github.com> Date: Fri, 1 Apr 2022 14:18:54 +0200 Subject: [PATCH] BUG: preserve column order inside iterfeatures (#2396) --- geopandas/geodataframe.py | 2 +- geopandas/tests/test_geodataframe.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/geopandas/geodataframe.py b/geopandas/geodataframe.py index 039ef02..54adb0e 100644 --- a/geopandas/geodataframe.py +++ b/geopandas/geodataframe.py @@ -865,7 +865,7 @@ individually so that features may have different properties if not self.columns.is_unique: raise ValueError("GeoDataFrame cannot contain duplicated column names.") - properties_cols = self.columns.difference([self._geometry_column_name]) + properties_cols = self.columns.drop(self._geometry_column_name) if len(properties_cols) > 0: # convert to object to get python scalars. diff --git a/geopandas/tests/test_geodataframe.py b/geopandas/tests/test_geodataframe.py index a5ec71b..94672e4 100644 --- a/geopandas/tests/test_geodataframe.py +++ b/geopandas/tests/test_geodataframe.py @@ -659,7 +659,7 @@ class TestDataFrame: geometry = [Point(xy) for xy in zip(df["lon"], df["lat"])] gdf = GeoDataFrame(df, geometry=geometry) # from_features returns sorted columns - expected = gdf[["geometry", "lat", "lon", "name"]] + expected = gdf[["geometry", "name", "lat", "lon"]] # test FeatureCollection res = GeoDataFrame.from_features(gdf.__geo_interface__)