diff --git a/CHANGELOG.md b/CHANGELOG.md
index 2950b2a..3c28865 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -9,6 +9,8 @@ New features and improvements:
   of the GeoParquet specification (geoparquet.org) (#2663).
 - New ``hilbert_distance()`` method that calculates the distance along a Hilbert curve
   for each geometry in a GeoSeries/GeoDataFrame (#2297).
+- Support for sorting geometries (for example, using ``sort_values()``) based on
+  the distance along the Hilbert curve (#2070).
 - Added ``minimum_bounding_circle()`` method from shapely to GeoSeries/GeoDataframe (#2621).
 - Support specifying ``min_zoom`` and ``max_zoom`` inside the ``map_kwds`` argument for ``.explore()`` (#2599).
 
diff --git a/geopandas/array.py b/geopandas/array.py
index 705caf0..41f75f7 100644
--- a/geopandas/array.py
+++ b/geopandas/array.py
@@ -1264,7 +1264,55 @@ class GeometryArray(ExtensionArray):
         ExtensionArray.argsort
         """
         # Note: this is used in `ExtensionArray.argsort`.
-        raise TypeError("geometries are not orderable")
+        from geopandas.tools.hilbert_curve import _hilbert_distance
+
+        if self.size == 0:
+            # TODO _hilbert_distance fails for empty array
+            return np.array([], dtype="uint32")
+
+        mask_empty = self.is_empty
+        has_empty = mask_empty.any()
+        mask = self.isna() | mask_empty
+        if mask.any():
+            # if there are missing or empty geometries, we fill those with
+            # a dummy geometry so that the _hilbert_distance function can
+            # process those. The missing values are handled separately by
+            # pandas regardless of the values we return here (to sort
+            # first/last depending on 'na_position'), the distances for the
+            # empty geometries are substitued below with an appropriate value
+            geoms = self.copy()
+            indices = np.nonzero(~mask)[0]
+            if indices.size:
+                geom = self[indices[0]]
+            else:
+                # for all-empty/NA, just take random geometry
+                geom = shapely.geometry.Point(0, 0)
+
+            geoms[mask] = geom
+        else:
+            geoms = self
+        if has_empty:
+            # in case we have empty geometries, we need to expand the total
+            # bounds with a small percentage, so the empties can be
+            # deterministically sorted first
+            total_bounds = geoms.total_bounds
+            xoff = (total_bounds[2] - total_bounds[0]) * 0.01
+            yoff = (total_bounds[3] - total_bounds[1]) * 0.01
+            total_bounds += np.array([-xoff, -yoff, xoff, yoff])
+        else:
+            total_bounds = None
+        distances = _hilbert_distance(geoms, total_bounds=total_bounds)
+        if has_empty:
+            # empty geometries are sorted first ("smallest"), so fill in
+            # smallest possible value for uints
+            distances[mask_empty] = 0
+        return distances
+
+    def argmin(self, skipna: bool = True) -> int:
+        raise TypeError("geometries have no minimum or maximum")
+
+    def argmax(self, skipna: bool = True) -> int:
+        raise TypeError("geometries have no minimum or maximum")
 
     def _formatter(self, boxed=False):
         """Formatting function for scalar values.
diff --git a/geopandas/base.py b/geopandas/base.py
index f908f95..abe3c85 100644
--- a/geopandas/base.py
+++ b/geopandas/base.py
@@ -3618,9 +3618,11 @@ GeometryCollection
         """
         from geopandas.tools.hilbert_curve import _hilbert_distance
 
-        distances = _hilbert_distance(self, total_bounds=total_bounds, level=level)
+        distances = _hilbert_distance(
+            self.geometry.values, total_bounds=total_bounds, level=level
+        )
 
-        return distances
+        return pd.Series(distances, index=self.index, name="hilbert_distance")
 
 
 def _get_index_for_parts(orig_idx, outer_idx, ignore_index, index_parts):
diff --git a/geopandas/tools/hilbert_curve.py b/geopandas/tools/hilbert_curve.py
index 42189a4..69c6c42 100644
--- a/geopandas/tools/hilbert_curve.py
+++ b/geopandas/tools/hilbert_curve.py
@@ -1,8 +1,7 @@
 import numpy as np
-import pandas as pd
 
 
-def _hilbert_distance(gdf, total_bounds=None, level=16):
+def _hilbert_distance(geoms, total_bounds=None, level=16):
     """
     Calculate the distance along a Hilbert curve.
 
@@ -11,7 +10,7 @@ def _hilbert_distance(gdf, total_bounds=None, level=16):
 
     Parameters
     ----------
-    gdf : GeoDataFrame
+    geoms : GeometryArray
     total_bounds : 4-element array
         Total bounds of geometries - array
     level : int (1 - 16), default 16
@@ -20,23 +19,24 @@ def _hilbert_distance(gdf, total_bounds=None, level=16):
 
     Returns
     ---------
-    Pandas Series containing distances along the Hilbert curve
+    np.ndarray
+        Array containing distances along the Hilbert curve
 
     """
-    if gdf.is_empty.any() | gdf.geometry.isna().any():
+    if geoms.is_empty.any() | geoms.isna().any():
         raise ValueError(
             "Hilbert distance cannot be computed on a GeoSeries with empty or "
             "missing geometries.",
         )
     # Calculate bounds as numpy array
-    bounds = gdf.bounds.to_numpy()
+    bounds = geoms.bounds
 
     # Calculate discrete coords based on total bounds and bounds
     x, y = _continuous_to_discrete_coords(bounds, level, total_bounds)
     # Compute distance along hilbert curve
     distances = _encode(level, x, y)
 
-    return pd.Series(distances, index=gdf.index, name="hilbert_distance")
+    return distances
 
 
 def _continuous_to_discrete_coords(bounds, level, total_bounds):

diff --git a/geopandas/tests/test_extension_array.py b/geopandas/tests/test_extension_array.py
index 30a5a93..5091405 100644
--- a/geopandas/tests/test_extension_array.py
+++ b/geopandas/tests/test_extension_array.py
@@ -21,9 +21,10 @@ import pandas as pd
 from pandas.tests.extension import base as extension_tests
 
 import shapely.geometry
+from shapely.geometry import Point
 
 from geopandas.array import GeometryArray, GeometryDtype, from_shapely
-from geopandas._compat import ignore_shapely2_warnings
+from geopandas._compat import ignore_shapely2_warnings, SHAPELY_GE_20, PANDAS_GE_15
 
 import pytest
 
@@ -33,7 +34,10 @@ import pytest
 
 
 not_yet_implemented = pytest.mark.skip(reason="Not yet implemented")
-no_sorting = pytest.mark.skip(reason="Sorting not supported")
+no_minmax = pytest.mark.skip(reason="Min/max not supported")
+requires_shapely2 = pytest.mark.skipif(
+    not SHAPELY_GE_20, reason="Requires hashable geometries"
+)
 
 
 # -----------------------------------------------------------------------------
@@ -116,7 +120,7 @@ def data_for_sorting():
     This should be three items [B, C, A] with
     A < B < C
     """
-    raise NotImplementedError
+    return from_shapely([Point(0, 1), Point(1, 1), Point(0, 0)])
 
 
 @pytest.fixture
@@ -126,7 +130,7 @@ def data_missing_for_sorting():
     This should be three items [B, NA, A] with
     A < B and NA missing.
     """
-    raise NotImplementedError
+    return from_shapely([Point(0, 1), None, Point(0, 0)])
 
 
 @pytest.fixture
@@ -282,6 +286,15 @@ def all_compare_operators(request):
     return request.param
 
 
+@pytest.fixture(params=[None, lambda x: x])
+def sort_by_key(request):
+    """
+    Simple fixture for testing keys in sorting methods.
+    Tests None (no key) and the identity key.
+    """
+    return request.param
+
+
 # -----------------------------------------------------------------------------
 # Inherited tests
 # -----------------------------------------------------------------------------
@@ -458,60 +471,25 @@ class TestComparisonOps(extension_tests.BaseComparisonOpsTests):
 
 
 class TestMethods(extension_tests.BaseMethodsTests):
-    @no_sorting
+    @pytest.mark.skipif(
+        not PANDAS_GE_15, reason="sorting index not yet working with older pandas"
+    )
     @pytest.mark.parametrize("dropna", [True, False])
     def test_value_counts(self, all_data, dropna):
         pass
 
-    @no_sorting
+    @pytest.mark.skipif(
+        not PANDAS_GE_15, reason="sorting index not yet working with older pandas"
+    )
     def test_value_counts_with_normalize(self, data):
         pass
 
-    @no_sorting
-    def test_argsort(self, data_for_sorting):
-        result = pd.Series(data_for_sorting).argsort()
-        expected = pd.Series(np.array([2, 0, 1], dtype=np.int64))
-        self.assert_series_equal(result, expected)
-
-    @no_sorting
-    def test_argsort_missing(self, data_missing_for_sorting):
-        result = pd.Series(data_missing_for_sorting).argsort()
-        expected = pd.Series(np.array([1, -1, 0], dtype=np.int64))
-        self.assert_series_equal(result, expected)
-
-    @no_sorting
-    @pytest.mark.parametrize("ascending", [True, False])
-    def test_sort_values(self, data_for_sorting, ascending):
-        ser = pd.Series(data_for_sorting)
-        result = ser.sort_values(ascending=ascending)
-        expected = ser.iloc[[2, 0, 1]]
-        if not ascending:
-            expected = expected[::-1]
-
-        self.assert_series_equal(result, expected)
-
-    @no_sorting
-    @pytest.mark.parametrize("ascending", [True, False])
-    def test_sort_values_missing(self, data_missing_for_sorting, ascending):
-        ser = pd.Series(data_missing_for_sorting)
-        result = ser.sort_values(ascending=ascending)
-        if ascending:
-            expected = ser.iloc[[2, 0, 1]]
-        else:
-            expected = ser.iloc[[0, 2, 1]]
-        self.assert_series_equal(result, expected)
-
-    @no_sorting
+    @requires_shapely2
     @pytest.mark.parametrize("ascending", [True, False])
     def test_sort_values_frame(self, data_for_sorting, ascending):
-        df = pd.DataFrame({"A": [1, 2, 1], "B": data_for_sorting})
-        result = df.sort_values(["A", "B"])
-        expected = pd.DataFrame(
-            {"A": [1, 1, 2], "B": data_for_sorting.take([2, 0, 1])}, index=[2, 0, 1]
-        )
-        self.assert_frame_equal(result, expected)
-
-    @no_sorting
+        super().test_sort_values_frame(data_for_sorting, ascending)
+
+    @pytest.mark.skip(reason="searchsorted not supported")
     def test_searchsorted(self, data_for_sorting, as_series):
         pass
 
@@ -529,31 +507,23 @@ class TestMethods(extension_tests.BaseMethodsTests):
         with pytest.raises(ValueError, match=msg):
             data_missing.fillna(data_missing.take([1]))
 
-    @no_sorting
-    def test_nargsort(self):
-        pass
-
-    @no_sorting
-    def test_argsort_missing_array(self):
-        pass
-
-    @no_sorting
+    @no_minmax
     def test_argmin_argmax(self):
         pass
 
-    @no_sorting
+    @no_minmax
     def test_argmin_argmax_empty_array(self):
         pass
 
-    @no_sorting
+    @no_minmax
     def test_argmin_argmax_all_na(self):
         pass
 
-    @no_sorting
+    @no_minmax
     def test_argreduce_series(self):
         pass
 
-    @no_sorting
+    @no_minmax
     def test_argmax_argmin_no_skipna_notimplemented(self):
         pass
 
@@ -563,16 +533,16 @@ class TestCasting(extension_tests.BaseCastingTests):
 
 
 class TestGroupby(extension_tests.BaseGroupbyTests):
-    @no_sorting
+    @requires_shapely2
     @pytest.mark.parametrize("as_index", [True, False])
     def test_groupby_extension_agg(self, as_index, data_for_grouping):
-        pass
+        super().test_groupby_extension_agg(as_index, data_for_grouping)
 
-    @no_sorting
+    @requires_shapely2
     def test_groupby_extension_transform(self, data_for_grouping):
-        pass
+        super().test_groupby_extension_transform(data_for_grouping)
 
-    @no_sorting
+    @requires_shapely2
     @pytest.mark.parametrize(
         "op",
         [
@@ -584,7 +554,7 @@ class TestGroupby(extension_tests.BaseGroupbyTests):
         ids=["scalar", "list", "series", "object"],
     )
     def test_groupby_extension_apply(self, data_for_grouping, op):
-        pass
+        super().test_groupby_extension_apply(data_for_grouping, op)
 
 
 class TestPrinting(extension_tests.BasePrintingTests):
diff --git a/geopandas/tests/test_pandas_methods.py b/geopandas/tests/test_pandas_methods.py
index 5f0a718..0373b55 100644
--- a/geopandas/tests/test_pandas_methods.py
+++ b/geopandas/tests/test_pandas_methods.py
@@ -453,6 +453,49 @@ def test_any_all():
 # Groupby / algos
 
 
+def test_sort_values():
+    s = GeoSeries([Point(0, 0), Point(2, 2), Point(0, 2)])
+    res = s.sort_values()
+    assert res.index.tolist() == [0, 2, 1]
+    res2 = s.sort_values(ascending=False)
+    assert res2.index.tolist() == [1, 2, 0]
+
+    # empty geoseries
+    assert_geoseries_equal(s.iloc[:0].sort_values(), s.iloc[:0])
+
+
+def test_sort_values_empty_missing():
+    s = GeoSeries([Point(0, 0), None, Point(), Point(1, 1)])
+    # default: NA sorts last, empty first
+    res = s.sort_values()
+    assert res.index.tolist() == [2, 0, 3, 1]
+
+    # descending: NA sorts last, empty last
+    res = s.sort_values(ascending=False)
+    assert res.index.tolist() == [3, 0, 2, 1]
+
+    # NAs first, empty first after NAs
+    res = s.sort_values(na_position="first")
+    assert res.index.tolist() == [1, 2, 0, 3]
+
+    # NAs first, descending with empyt last
+    res = s.sort_values(ascending=False, na_position="first")
+    assert res.index.tolist() == [1, 3, 0, 2]
+
+    # all missing / empty
+    s = GeoSeries([None, None, None])
+    res = s.sort_values()
+    assert res.index.tolist() == [0, 1, 2]
+
+    s = GeoSeries([Point(), Point(), Point()])
+    res = s.sort_values()
+    assert res.index.tolist() == [0, 1, 2]
+
+    s = GeoSeries([Point(), None, Point()])
+    res = s.sort_values()
+    assert res.index.tolist() == [0, 2, 1]
+
+
 def test_unique():
     s = GeoSeries([Point(0, 0), Point(0, 0), Point(2, 2)])
     exp = from_shapely([Point(0, 0), Point(2, 2)])
diff --git a/geopandas/tools/tests/test_hilbert_curve.py b/geopandas/tools/tests/test_hilbert_curve.py
index 14dfb07..143ee50 100644
--- a/geopandas/tools/tests/test_hilbert_curve.py
+++ b/geopandas/tools/tests/test_hilbert_curve.py
@@ -2,7 +2,6 @@ from shapely.geometry import Point
 from shapely.wkt import loads
 
 import geopandas
-from geopandas.tools.hilbert_curve import _hilbert_distance
 
 import pytest
 from pandas.testing import assert_series_equal
@@ -18,13 +17,13 @@ def test_hilbert_distance():
             "POLYGON ((0 0, 0 1, 1 1, 1 0, 0 0))",
         ]
     )
-    result = _hilbert_distance(geoms, total_bounds=(0, 0, 1, 1), level=2)
+    result = geoms.hilbert_distance(total_bounds=(0, 0, 1, 1), level=2)
     assert result.tolist() == [0, 10, 15, 2]
 
-    result = _hilbert_distance(geoms, total_bounds=(0, 0, 1, 1), level=3)
+    result = geoms.hilbert_distance(total_bounds=(0, 0, 1, 1), level=3)
     assert result.tolist() == [0, 42, 63, 10]
 
-    result = _hilbert_distance(geoms, total_bounds=(0, 0, 1, 1), level=16)
+    result = geoms.hilbert_distance(total_bounds=(0, 0, 1, 1), level=16)
     assert result.tolist() == [0, 2863311530, 4294967295, 715827882]
 
 

ENH: implement `GeoSeries.sort_values` based on Hilbert and/or Morton distance
#### Is your feature request related to a problem?

We can implement `GeoSeries.sort_values` utilising Hilbert and/or Morton distance we have just merged in dask-geopandas. That would mirror [what PostGIS does](https://blog.crunchydata.com/blog/waiting-for-postgis-3-hilbert-geometry-sorting) in `ORDER BY geom`.

#### Describe the solution you'd like

I am not sure if we should just make a decision and implement sorting based on one of those algorithm or add a keyword to control which one is used. pandas already has a lot of [keywords](https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.Series.sort_values.html) so I am not sure we want to add more.

Hilbert curve is nicer than Morton as it preserves space a bit better but our implementation uses numba now. Morton is a bit faster, can be done with numpy but the result is not so ideal.

#### API breaking implications

None.



geopandas/tests/test_extension_array.py::TestMethods::test_argsort geopandas/tests/test_extension_array.py::TestMethods::test_argsort_missing_array geopandas/tests/test_extension_array.py::TestMethods::test_nargsort[last-expected0] geopandas/tests/test_extension_array.py::TestMethods::test_nargsort[first-expected1] geopandas/tests/test_extension_array.py::TestMethods::test_sort_values[None-True] geopandas/tests/test_extension_array.py::TestMethods::test_sort_values[None-False] geopandas/tests/test_extension_array.py::TestMethods::test_sort_values[<lambda>-True] geopandas/tests/test_extension_array.py::TestMethods::test_sort_values[<lambda>-False] geopandas/tests/test_extension_array.py::TestMethods::test_sort_values_missing[None-True] geopandas/tests/test_extension_array.py::TestMethods::test_sort_values_missing[None-False] geopandas/tests/test_extension_array.py::TestMethods::test_sort_values_missing[<lambda>-True] geopandas/tests/test_extension_array.py::TestMethods::test_sort_values_missing[<lambda>-False] geopandas/tests/test_extension_array.py::TestMethods::test_sort_values_frame[True] geopandas/tests/test_extension_array.py::TestMethods::test_sort_values_frame[False] geopandas/tests/test_extension_array.py::TestGroupby::test_groupby_extension_agg[True] geopandas/tests/test_extension_array.py::TestGroupby::test_groupby_extension_agg[False] geopandas/tests/test_extension_array.py::TestGroupby::test_groupby_extension_transform geopandas/tests/test_extension_array.py::TestGroupby::test_groupby_extension_apply[scalar] geopandas/tests/test_extension_array.py::TestGroupby::test_groupby_extension_apply[list] geopandas/tests/test_extension_array.py::TestGroupby::test_groupby_extension_apply[series] geopandas/tests/test_extension_array.py::TestGroupby::test_groupby_extension_apply[object] geopandas/tests/test_pandas_methods.py::test_sort_values geopandas/tests/test_pandas_methods.py::test_sort_values_empty_missing
geopandas/tests/test_extension_array.py::TestDtype::test_name geopandas/tests/test_extension_array.py::TestDtype::test_kind geopandas/tests/test_extension_array.py::TestDtype::test_is_dtype_from_name geopandas/tests/test_extension_array.py::TestDtype::test_is_dtype_unboxes_dtype geopandas/tests/test_extension_array.py::TestDtype::test_is_dtype_from_self geopandas/tests/test_extension_array.py::TestDtype::test_is_dtype_other_input geopandas/tests/test_extension_array.py::TestDtype::test_is_not_string_type geopandas/tests/test_extension_array.py::TestDtype::test_is_not_object_type geopandas/tests/test_extension_array.py::TestDtype::test_eq_with_str geopandas/tests/test_extension_array.py::TestDtype::test_eq_with_numpy_object geopandas/tests/test_extension_array.py::TestDtype::test_eq_with_self geopandas/tests/test_extension_array.py::TestDtype::test_array_type geopandas/tests/test_extension_array.py::TestDtype::test_check_dtype geopandas/tests/test_extension_array.py::TestDtype::test_hashable geopandas/tests/test_extension_array.py::TestDtype::test_str geopandas/tests/test_extension_array.py::TestDtype::test_eq geopandas/tests/test_extension_array.py::TestDtype::test_construct_from_string_own_name geopandas/tests/test_extension_array.py::TestDtype::test_construct_from_string_another_type_raises geopandas/tests/test_extension_array.py::TestDtype::test_construct_from_string_wrong_type_raises geopandas/tests/test_extension_array.py::TestDtype::test_get_common_dtype geopandas/tests/test_extension_array.py::TestDtype::test_infer_dtype[True] geopandas/tests/test_extension_array.py::TestDtype::test_infer_dtype[False] geopandas/tests/test_extension_array.py::TestDtype::test_array_type_with_arg geopandas/tests/test_extension_array.py::TestInterface::test_len geopandas/tests/test_extension_array.py::TestInterface::test_size geopandas/tests/test_extension_array.py::TestInterface::test_ndim geopandas/tests/test_extension_array.py::TestInterface::test_can_hold_na_valid geopandas/tests/test_extension_array.py::TestInterface::test_memory_usage geopandas/tests/test_extension_array.py::TestInterface::test_is_extension_array_dtype geopandas/tests/test_extension_array.py::TestInterface::test_no_values_attribute geopandas/tests/test_extension_array.py::TestInterface::test_is_numeric_honored geopandas/tests/test_extension_array.py::TestInterface::test_isna_extension_array geopandas/tests/test_extension_array.py::TestInterface::test_copy geopandas/tests/test_extension_array.py::TestInterface::test_view geopandas/tests/test_extension_array.py::TestInterface::test_tolist geopandas/tests/test_extension_array.py::TestInterface::test_array_interface geopandas/tests/test_extension_array.py::TestInterface::test_contains geopandas/tests/test_extension_array.py::TestConstructors::test_from_sequence_from_cls geopandas/tests/test_extension_array.py::TestConstructors::test_array_from_scalars geopandas/tests/test_extension_array.py::TestConstructors::test_series_constructor geopandas/tests/test_extension_array.py::TestConstructors::test_series_constructor_no_data_with_index geopandas/tests/test_extension_array.py::TestConstructors::test_series_constructor_scalar_na_with_index geopandas/tests/test_extension_array.py::TestConstructors::test_series_constructor_scalar_with_index geopandas/tests/test_extension_array.py::TestConstructors::test_dataframe_constructor_from_dict[True] geopandas/tests/test_extension_array.py::TestConstructors::test_dataframe_constructor_from_dict[False] geopandas/tests/test_extension_array.py::TestConstructors::test_dataframe_from_series geopandas/tests/test_extension_array.py::TestConstructors::test_series_given_mismatched_index_raises geopandas/tests/test_extension_array.py::TestConstructors::test_from_dtype geopandas/tests/test_extension_array.py::TestConstructors::test_pandas_array geopandas/tests/test_extension_array.py::TestConstructors::test_pandas_array_dtype geopandas/tests/test_extension_array.py::TestConstructors::test_construct_empty_dataframe geopandas/tests/test_extension_array.py::TestConstructors::test_empty geopandas/tests/test_extension_array.py::TestReshaping::test_concat[True] geopandas/tests/test_extension_array.py::TestReshaping::test_concat[False] geopandas/tests/test_extension_array.py::TestReshaping::test_concat_all_na_block[True] geopandas/tests/test_extension_array.py::TestReshaping::test_concat_all_na_block[False] geopandas/tests/test_extension_array.py::TestReshaping::test_concat_columns geopandas/tests/test_extension_array.py::TestReshaping::test_concat_extension_arrays_copy_false geopandas/tests/test_extension_array.py::TestReshaping::test_concat_with_reindex geopandas/tests/test_extension_array.py::TestReshaping::test_align geopandas/tests/test_extension_array.py::TestReshaping::test_align_frame geopandas/tests/test_extension_array.py::TestReshaping::test_align_series_frame geopandas/tests/test_extension_array.py::TestReshaping::test_set_frame_expand_regular_with_extension geopandas/tests/test_extension_array.py::TestReshaping::test_set_frame_expand_extension_with_regular geopandas/tests/test_extension_array.py::TestReshaping::test_set_frame_overwrite_object geopandas/tests/test_extension_array.py::TestReshaping::test_merge geopandas/tests/test_extension_array.py::TestReshaping::test_merge_on_extension_array geopandas/tests/test_extension_array.py::TestReshaping::test_merge_on_extension_array_duplicates geopandas/tests/test_extension_array.py::TestReshaping::test_stack[True-columns0] geopandas/tests/test_extension_array.py::TestReshaping::test_stack[True-columns1] geopandas/tests/test_extension_array.py::TestReshaping::test_stack[False-columns0] geopandas/tests/test_extension_array.py::TestReshaping::test_stack[False-columns1] geopandas/tests/test_extension_array.py::TestReshaping::test_unstack[series-index0] geopandas/tests/test_extension_array.py::TestReshaping::test_unstack[series-index1] geopandas/tests/test_extension_array.py::TestReshaping::test_unstack[series-index2] geopandas/tests/test_extension_array.py::TestReshaping::test_unstack[series-index3] geopandas/tests/test_extension_array.py::TestReshaping::test_unstack[frame-index0] geopandas/tests/test_extension_array.py::TestReshaping::test_unstack[frame-index1] geopandas/tests/test_extension_array.py::TestReshaping::test_unstack[frame-index2] geopandas/tests/test_extension_array.py::TestReshaping::test_unstack[frame-index3] geopandas/tests/test_extension_array.py::TestReshaping::test_ravel geopandas/tests/test_extension_array.py::TestReshaping::test_transpose geopandas/tests/test_extension_array.py::TestReshaping::test_transpose_frame geopandas/tests/test_extension_array.py::TestGetitem::test_iloc_series geopandas/tests/test_extension_array.py::TestGetitem::test_iloc_frame geopandas/tests/test_extension_array.py::TestGetitem::test_iloc_frame_single_block geopandas/tests/test_extension_array.py::TestGetitem::test_loc_series geopandas/tests/test_extension_array.py::TestGetitem::test_loc_frame geopandas/tests/test_extension_array.py::TestGetitem::test_loc_iloc_frame_single_dtype geopandas/tests/test_extension_array.py::TestGetitem::test_getitem_scalar geopandas/tests/test_extension_array.py::TestGetitem::test_getitem_invalid geopandas/tests/test_extension_array.py::TestGetitem::test_getitem_scalar_na geopandas/tests/test_extension_array.py::TestGetitem::test_getitem_empty geopandas/tests/test_extension_array.py::TestGetitem::test_getitem_mask geopandas/tests/test_extension_array.py::TestGetitem::test_getitem_mask_raises geopandas/tests/test_extension_array.py::TestGetitem::test_getitem_boolean_array_mask geopandas/tests/test_extension_array.py::TestGetitem::test_getitem_boolean_na_treated_as_false geopandas/tests/test_extension_array.py::TestGetitem::test_getitem_integer_array[list] geopandas/tests/test_extension_array.py::TestGetitem::test_getitem_integer_array[integer-array] geopandas/tests/test_extension_array.py::TestGetitem::test_getitem_integer_array[numpy-array] geopandas/tests/test_extension_array.py::TestGetitem::test_getitem_integer_with_missing_raises[list] geopandas/tests/test_extension_array.py::TestGetitem::test_getitem_integer_with_missing_raises[integer-array] geopandas/tests/test_extension_array.py::TestGetitem::test_getitem_slice geopandas/tests/test_extension_array.py::TestGetitem::test_getitem_ellipsis_and_slice geopandas/tests/test_extension_array.py::TestGetitem::test_get geopandas/tests/test_extension_array.py::TestGetitem::test_take_sequence geopandas/tests/test_extension_array.py::TestGetitem::test_take geopandas/tests/test_extension_array.py::TestGetitem::test_take_empty geopandas/tests/test_extension_array.py::TestGetitem::test_take_negative geopandas/tests/test_extension_array.py::TestGetitem::test_take_non_na_fill_value geopandas/tests/test_extension_array.py::TestGetitem::test_take_pandas_style_negative_raises geopandas/tests/test_extension_array.py::TestGetitem::test_take_out_of_bounds_raises[True] geopandas/tests/test_extension_array.py::TestGetitem::test_take_out_of_bounds_raises[False] geopandas/tests/test_extension_array.py::TestGetitem::test_take_series geopandas/tests/test_extension_array.py::TestGetitem::test_reindex geopandas/tests/test_extension_array.py::TestGetitem::test_reindex_non_na_fill_value geopandas/tests/test_extension_array.py::TestGetitem::test_loc_len1 geopandas/tests/test_extension_array.py::TestGetitem::test_item geopandas/tests/test_extension_array.py::TestSetitem::test_is_immutable geopandas/tests/test_extension_array.py::TestSetitem::test_setitem_scalar_series[True] geopandas/tests/test_extension_array.py::TestSetitem::test_setitem_scalar_series[False] geopandas/tests/test_extension_array.py::TestSetitem::test_setitem_sequence[True] geopandas/tests/test_extension_array.py::TestSetitem::test_setitem_sequence[False] geopandas/tests/test_extension_array.py::TestSetitem::test_setitem_sequence_mismatched_length_raises[True] geopandas/tests/test_extension_array.py::TestSetitem::test_setitem_sequence_mismatched_length_raises[False] geopandas/tests/test_extension_array.py::TestSetitem::test_setitem_empty_indexer[True] geopandas/tests/test_extension_array.py::TestSetitem::test_setitem_empty_indexer[False] geopandas/tests/test_extension_array.py::TestSetitem::test_setitem_sequence_broadcasts[True] geopandas/tests/test_extension_array.py::TestSetitem::test_setitem_sequence_broadcasts[False] geopandas/tests/test_extension_array.py::TestSetitem::test_setitem_scalar[loc] geopandas/tests/test_extension_array.py::TestSetitem::test_setitem_scalar[iloc] geopandas/tests/test_extension_array.py::TestSetitem::test_setitem_loc_scalar_mixed geopandas/tests/test_extension_array.py::TestSetitem::test_setitem_loc_scalar_single geopandas/tests/test_extension_array.py::TestSetitem::test_setitem_loc_scalar_multiple_homogoneous geopandas/tests/test_extension_array.py::TestSetitem::test_setitem_iloc_scalar_mixed geopandas/tests/test_extension_array.py::TestSetitem::test_setitem_iloc_scalar_single geopandas/tests/test_extension_array.py::TestSetitem::test_setitem_iloc_scalar_multiple_homogoneous geopandas/tests/test_extension_array.py::TestSetitem::test_setitem_mask[True-numpy-array] geopandas/tests/test_extension_array.py::TestSetitem::test_setitem_mask[True-boolean-array] geopandas/tests/test_extension_array.py::TestSetitem::test_setitem_mask[True-boolean-array-na] geopandas/tests/test_extension_array.py::TestSetitem::test_setitem_mask[False-numpy-array] geopandas/tests/test_extension_array.py::TestSetitem::test_setitem_mask[False-boolean-array] geopandas/tests/test_extension_array.py::TestSetitem::test_setitem_mask[False-boolean-array-na] geopandas/tests/test_extension_array.py::TestSetitem::test_setitem_mask_raises[True] geopandas/tests/test_extension_array.py::TestSetitem::test_setitem_mask_raises[False] geopandas/tests/test_extension_array.py::TestSetitem::test_setitem_mask_boolean_array_with_na[True] geopandas/tests/test_extension_array.py::TestSetitem::test_setitem_mask_boolean_array_with_na[False] geopandas/tests/test_extension_array.py::TestSetitem::test_setitem_integer_array[True-list] geopandas/tests/test_extension_array.py::TestSetitem::test_setitem_integer_array[True-integer-array] geopandas/tests/test_extension_array.py::TestSetitem::test_setitem_integer_array[True-numpy-array] geopandas/tests/test_extension_array.py::TestSetitem::test_setitem_integer_array[False-list] geopandas/tests/test_extension_array.py::TestSetitem::test_setitem_integer_array[False-integer-array] geopandas/tests/test_extension_array.py::TestSetitem::test_setitem_integer_array[False-numpy-array] geopandas/tests/test_extension_array.py::TestSetitem::test_setitem_integer_with_missing_raises[list-False] geopandas/tests/test_extension_array.py::TestSetitem::test_setitem_integer_with_missing_raises[integer-array-False] geopandas/tests/test_extension_array.py::TestSetitem::test_setitem_integer_with_missing_raises[integer-array-True] geopandas/tests/test_extension_array.py::TestSetitem::test_setitem_mask_aligned[loc-True] geopandas/tests/test_extension_array.py::TestSetitem::test_setitem_mask_aligned[loc-False] geopandas/tests/test_extension_array.py::TestSetitem::test_setitem_mask_aligned[None-True] geopandas/tests/test_extension_array.py::TestSetitem::test_setitem_mask_aligned[None-False] geopandas/tests/test_extension_array.py::TestSetitem::test_setitem_mask_broadcast[loc] geopandas/tests/test_extension_array.py::TestSetitem::test_setitem_mask_broadcast[None] geopandas/tests/test_extension_array.py::TestSetitem::test_setitem_expand_columns geopandas/tests/test_extension_array.py::TestSetitem::test_setitem_expand_with_extension geopandas/tests/test_extension_array.py::TestSetitem::test_setitem_frame_invalid_length geopandas/tests/test_extension_array.py::TestSetitem::test_setitem_tuple_index geopandas/tests/test_extension_array.py::TestSetitem::test_setitem_slice[True] geopandas/tests/test_extension_array.py::TestSetitem::test_setitem_slice[False] geopandas/tests/test_extension_array.py::TestSetitem::test_setitem_loc_iloc_slice geopandas/tests/test_extension_array.py::TestSetitem::test_setitem_slice_mismatch_length_raises geopandas/tests/test_extension_array.py::TestSetitem::test_setitem_slice_array geopandas/tests/test_extension_array.py::TestSetitem::test_setitem_scalar_key_sequence_raise geopandas/tests/test_extension_array.py::TestSetitem::test_setitem_preserves_views geopandas/tests/test_extension_array.py::TestSetitem::test_setitem_with_expansion_dataframe_column[index] geopandas/tests/test_extension_array.py::TestSetitem::test_setitem_with_expansion_dataframe_column[list[index]] geopandas/tests/test_extension_array.py::TestSetitem::test_setitem_with_expansion_dataframe_column[null_slice] geopandas/tests/test_extension_array.py::TestSetitem::test_setitem_with_expansion_dataframe_column[full_slice] geopandas/tests/test_extension_array.py::TestSetitem::test_setitem_with_expansion_dataframe_column[range] geopandas/tests/test_extension_array.py::TestSetitem::test_setitem_with_expansion_dataframe_column[list(range)] geopandas/tests/test_extension_array.py::TestSetitem::test_setitem_with_expansion_dataframe_column[mask] geopandas/tests/test_extension_array.py::TestSetitem::test_setitem_with_expansion_row geopandas/tests/test_extension_array.py::TestSetitem::test_setitem_series[index] geopandas/tests/test_extension_array.py::TestSetitem::test_setitem_series[list[index]] geopandas/tests/test_extension_array.py::TestSetitem::test_setitem_series[null_slice] geopandas/tests/test_extension_array.py::TestSetitem::test_setitem_series[full_slice] geopandas/tests/test_extension_array.py::TestSetitem::test_setitem_series[range] geopandas/tests/test_extension_array.py::TestSetitem::test_setitem_series[list(range)] geopandas/tests/test_extension_array.py::TestSetitem::test_setitem_series[mask] geopandas/tests/test_extension_array.py::TestSetitem::test_setitem_frame_2d_values geopandas/tests/test_extension_array.py::TestSetitem::test_delitem_series geopandas/tests/test_extension_array.py::TestSetitem::test_setitem_invalid geopandas/tests/test_extension_array.py::TestSetitem::test_setitem_2d_values geopandas/tests/test_extension_array.py::TestMissing::test_isna geopandas/tests/test_extension_array.py::TestMissing::test_isna_returns_copy[isna] geopandas/tests/test_extension_array.py::TestMissing::test_isna_returns_copy[notna] geopandas/tests/test_extension_array.py::TestMissing::test_dropna_array geopandas/tests/test_extension_array.py::TestMissing::test_dropna_series geopandas/tests/test_extension_array.py::TestMissing::test_dropna_frame geopandas/tests/test_extension_array.py::TestMissing::test_fillna_scalar geopandas/tests/test_extension_array.py::TestMissing::test_fillna_frame geopandas/tests/test_extension_array.py::TestMissing::test_fillna_fill_other geopandas/tests/test_extension_array.py::TestMissing::test_use_inf_as_na_no_effect geopandas/tests/test_extension_array.py::TestReduce::test_reduce_series_numeric[sum-True] geopandas/tests/test_extension_array.py::TestReduce::test_reduce_series_numeric[sum-False] geopandas/tests/test_extension_array.py::TestReduce::test_reduce_series_numeric[max-True] geopandas/tests/test_extension_array.py::TestReduce::test_reduce_series_numeric[max-False] geopandas/tests/test_extension_array.py::TestReduce::test_reduce_series_numeric[min-True] geopandas/tests/test_extension_array.py::TestReduce::test_reduce_series_numeric[min-False] geopandas/tests/test_extension_array.py::TestReduce::test_reduce_series_numeric[mean-True] geopandas/tests/test_extension_array.py::TestReduce::test_reduce_series_numeric[mean-False] geopandas/tests/test_extension_array.py::TestReduce::test_reduce_series_numeric[prod-True] geopandas/tests/test_extension_array.py::TestReduce::test_reduce_series_numeric[prod-False] geopandas/tests/test_extension_array.py::TestReduce::test_reduce_series_numeric[std-True] geopandas/tests/test_extension_array.py::TestReduce::test_reduce_series_numeric[std-False] geopandas/tests/test_extension_array.py::TestReduce::test_reduce_series_numeric[var-True] geopandas/tests/test_extension_array.py::TestReduce::test_reduce_series_numeric[var-False] geopandas/tests/test_extension_array.py::TestReduce::test_reduce_series_numeric[median-True] geopandas/tests/test_extension_array.py::TestReduce::test_reduce_series_numeric[median-False] geopandas/tests/test_extension_array.py::TestReduce::test_reduce_series_numeric[kurt-True] geopandas/tests/test_extension_array.py::TestReduce::test_reduce_series_numeric[kurt-False] geopandas/tests/test_extension_array.py::TestReduce::test_reduce_series_numeric[skew-True] geopandas/tests/test_extension_array.py::TestReduce::test_reduce_series_numeric[skew-False] geopandas/tests/test_extension_array.py::TestArithmeticOps::test_arith_series_with_scalar[__add__] geopandas/tests/test_extension_array.py::TestArithmeticOps::test_arith_series_with_scalar[__radd__] geopandas/tests/test_extension_array.py::TestArithmeticOps::test_arith_series_with_scalar[__mul__] geopandas/tests/test_extension_array.py::TestArithmeticOps::test_arith_series_with_scalar[__rmul__] geopandas/tests/test_extension_array.py::TestArithmeticOps::test_arith_series_with_scalar[__floordiv__] geopandas/tests/test_extension_array.py::TestArithmeticOps::test_arith_series_with_scalar[__rfloordiv__] geopandas/tests/test_extension_array.py::TestArithmeticOps::test_arith_series_with_scalar[__truediv__] geopandas/tests/test_extension_array.py::TestArithmeticOps::test_arith_series_with_scalar[__rtruediv__] geopandas/tests/test_extension_array.py::TestArithmeticOps::test_arith_series_with_scalar[__pow__] geopandas/tests/test_extension_array.py::TestArithmeticOps::test_arith_series_with_scalar[__rpow__] geopandas/tests/test_extension_array.py::TestArithmeticOps::test_arith_series_with_scalar[__mod__] geopandas/tests/test_extension_array.py::TestArithmeticOps::test_arith_series_with_scalar[__rmod__] geopandas/tests/test_extension_array.py::TestArithmeticOps::test_arith_frame_with_scalar[__add__] geopandas/tests/test_extension_array.py::TestArithmeticOps::test_arith_frame_with_scalar[__radd__] geopandas/tests/test_extension_array.py::TestArithmeticOps::test_arith_frame_with_scalar[__mul__] geopandas/tests/test_extension_array.py::TestArithmeticOps::test_arith_frame_with_scalar[__rmul__] geopandas/tests/test_extension_array.py::TestArithmeticOps::test_arith_frame_with_scalar[__floordiv__] geopandas/tests/test_extension_array.py::TestArithmeticOps::test_arith_frame_with_scalar[__rfloordiv__] geopandas/tests/test_extension_array.py::TestArithmeticOps::test_arith_frame_with_scalar[__truediv__] geopandas/tests/test_extension_array.py::TestArithmeticOps::test_arith_frame_with_scalar[__rtruediv__] geopandas/tests/test_extension_array.py::TestArithmeticOps::test_arith_frame_with_scalar[__pow__] geopandas/tests/test_extension_array.py::TestArithmeticOps::test_arith_frame_with_scalar[__rpow__] geopandas/tests/test_extension_array.py::TestArithmeticOps::test_arith_frame_with_scalar[__mod__] geopandas/tests/test_extension_array.py::TestArithmeticOps::test_arith_frame_with_scalar[__rmod__] geopandas/tests/test_extension_array.py::TestArithmeticOps::test_arith_series_with_array[__add__] geopandas/tests/test_extension_array.py::TestArithmeticOps::test_arith_series_with_array[__radd__] geopandas/tests/test_extension_array.py::TestArithmeticOps::test_arith_series_with_array[__mul__] geopandas/tests/test_extension_array.py::TestArithmeticOps::test_arith_series_with_array[__rmul__] geopandas/tests/test_extension_array.py::TestArithmeticOps::test_arith_series_with_array[__floordiv__] geopandas/tests/test_extension_array.py::TestArithmeticOps::test_arith_series_with_array[__rfloordiv__] geopandas/tests/test_extension_array.py::TestArithmeticOps::test_arith_series_with_array[__truediv__] geopandas/tests/test_extension_array.py::TestArithmeticOps::test_arith_series_with_array[__rtruediv__] geopandas/tests/test_extension_array.py::TestArithmeticOps::test_arith_series_with_array[__pow__] geopandas/tests/test_extension_array.py::TestArithmeticOps::test_arith_series_with_array[__rpow__] geopandas/tests/test_extension_array.py::TestArithmeticOps::test_arith_series_with_array[__mod__] geopandas/tests/test_extension_array.py::TestArithmeticOps::test_arith_series_with_array[__rmod__] geopandas/tests/test_extension_array.py::TestArithmeticOps::test_divmod geopandas/tests/test_extension_array.py::TestArithmeticOps::test_direct_arith_with_ndframe_returns_not_implemented[__add__-Series] geopandas/tests/test_extension_array.py::TestArithmeticOps::test_direct_arith_with_ndframe_returns_not_implemented[__add__-DataFrame] geopandas/tests/test_extension_array.py::TestArithmeticOps::test_direct_arith_with_ndframe_returns_not_implemented[__add__-Index] geopandas/tests/test_extension_array.py::TestArithmeticOps::test_direct_arith_with_ndframe_returns_not_implemented[__sub__-Series] geopandas/tests/test_extension_array.py::TestArithmeticOps::test_direct_arith_with_ndframe_returns_not_implemented[__sub__-DataFrame] geopandas/tests/test_extension_array.py::TestArithmeticOps::test_direct_arith_with_ndframe_returns_not_implemented[__sub__-Index] geopandas/tests/test_extension_array.py::TestArithmeticOps::test_direct_arith_with_ndframe_returns_not_implemented[__mul__-Series] geopandas/tests/test_extension_array.py::TestArithmeticOps::test_direct_arith_with_ndframe_returns_not_implemented[__mul__-DataFrame] geopandas/tests/test_extension_array.py::TestArithmeticOps::test_direct_arith_with_ndframe_returns_not_implemented[__mul__-Index] geopandas/tests/test_extension_array.py::TestArithmeticOps::test_direct_arith_with_ndframe_returns_not_implemented[__floordiv__-Series] geopandas/tests/test_extension_array.py::TestArithmeticOps::test_direct_arith_with_ndframe_returns_not_implemented[__floordiv__-DataFrame] geopandas/tests/test_extension_array.py::TestArithmeticOps::test_direct_arith_with_ndframe_returns_not_implemented[__floordiv__-Index] geopandas/tests/test_extension_array.py::TestArithmeticOps::test_direct_arith_with_ndframe_returns_not_implemented[__truediv__-Series] geopandas/tests/test_extension_array.py::TestArithmeticOps::test_direct_arith_with_ndframe_returns_not_implemented[__truediv__-DataFrame] geopandas/tests/test_extension_array.py::TestArithmeticOps::test_direct_arith_with_ndframe_returns_not_implemented[__truediv__-Index] geopandas/tests/test_extension_array.py::TestArithmeticOps::test_direct_arith_with_ndframe_returns_not_implemented[__pow__-Series] geopandas/tests/test_extension_array.py::TestArithmeticOps::test_direct_arith_with_ndframe_returns_not_implemented[__pow__-DataFrame] geopandas/tests/test_extension_array.py::TestArithmeticOps::test_direct_arith_with_ndframe_returns_not_implemented[__pow__-Index] geopandas/tests/test_extension_array.py::TestArithmeticOps::test_direct_arith_with_ndframe_returns_not_implemented[__mod__-Series] geopandas/tests/test_extension_array.py::TestArithmeticOps::test_direct_arith_with_ndframe_returns_not_implemented[__mod__-DataFrame] geopandas/tests/test_extension_array.py::TestArithmeticOps::test_direct_arith_with_ndframe_returns_not_implemented[__mod__-Index] geopandas/tests/test_extension_array.py::TestArithmeticOps::test_direct_arith_with_ndframe_returns_not_implemented[__eq__-Series] geopandas/tests/test_extension_array.py::TestArithmeticOps::test_direct_arith_with_ndframe_returns_not_implemented[__eq__-DataFrame] geopandas/tests/test_extension_array.py::TestArithmeticOps::test_direct_arith_with_ndframe_returns_not_implemented[__eq__-Index] geopandas/tests/test_extension_array.py::TestArithmeticOps::test_direct_arith_with_ndframe_returns_not_implemented[__ne__-Series] geopandas/tests/test_extension_array.py::TestArithmeticOps::test_direct_arith_with_ndframe_returns_not_implemented[__ne__-DataFrame] geopandas/tests/test_extension_array.py::TestArithmeticOps::test_direct_arith_with_ndframe_returns_not_implemented[__ne__-Index] geopandas/tests/test_extension_array.py::TestArithmeticOps::test_direct_arith_with_ndframe_returns_not_implemented[__le__-Series] geopandas/tests/test_extension_array.py::TestArithmeticOps::test_direct_arith_with_ndframe_returns_not_implemented[__le__-DataFrame] geopandas/tests/test_extension_array.py::TestArithmeticOps::test_direct_arith_with_ndframe_returns_not_implemented[__le__-Index] geopandas/tests/test_extension_array.py::TestArithmeticOps::test_direct_arith_with_ndframe_returns_not_implemented[__lt__-Series] geopandas/tests/test_extension_array.py::TestArithmeticOps::test_direct_arith_with_ndframe_returns_not_implemented[__lt__-DataFrame] geopandas/tests/test_extension_array.py::TestArithmeticOps::test_direct_arith_with_ndframe_returns_not_implemented[__lt__-Index] geopandas/tests/test_extension_array.py::TestArithmeticOps::test_direct_arith_with_ndframe_returns_not_implemented[__ge__-Series] geopandas/tests/test_extension_array.py::TestArithmeticOps::test_direct_arith_with_ndframe_returns_not_implemented[__ge__-DataFrame] geopandas/tests/test_extension_array.py::TestArithmeticOps::test_direct_arith_with_ndframe_returns_not_implemented[__ge__-Index] geopandas/tests/test_extension_array.py::TestArithmeticOps::test_direct_arith_with_ndframe_returns_not_implemented[__gt__-Series] geopandas/tests/test_extension_array.py::TestArithmeticOps::test_direct_arith_with_ndframe_returns_not_implemented[__gt__-DataFrame] geopandas/tests/test_extension_array.py::TestArithmeticOps::test_direct_arith_with_ndframe_returns_not_implemented[__gt__-Index] geopandas/tests/test_extension_array.py::TestMethods::test_hash_pandas_object geopandas/tests/test_extension_array.py::TestMethods::test_value_counts_default_dropna geopandas/tests/test_extension_array.py::TestMethods::test_count geopandas/tests/test_extension_array.py::TestMethods::test_series_count geopandas/tests/test_extension_array.py::TestMethods::test_duplicated[first] geopandas/tests/test_extension_array.py::TestMethods::test_duplicated[last] geopandas/tests/test_extension_array.py::TestMethods::test_duplicated[False] geopandas/tests/test_extension_array.py::TestMethods::test_unique[<lambda>-Series] geopandas/tests/test_extension_array.py::TestMethods::test_unique[<lambda>-<lambda>] geopandas/tests/test_extension_array.py::TestMethods::test_unique[unique-Series] geopandas/tests/test_extension_array.py::TestMethods::test_unique[unique-<lambda>] geopandas/tests/test_extension_array.py::TestMethods::test_factorize geopandas/tests/test_extension_array.py::TestMethods::test_factorize_equivalence geopandas/tests/test_extension_array.py::TestMethods::test_factorize_empty geopandas/tests/test_extension_array.py::TestMethods::test_fillna_copy_frame geopandas/tests/test_extension_array.py::TestMethods::test_fillna_copy_series geopandas/tests/test_extension_array.py::TestMethods::test_combine_first geopandas/tests/test_extension_array.py::TestMethods::test_container_shift[-2-indices0-True] geopandas/tests/test_extension_array.py::TestMethods::test_container_shift[-2-indices0-False] geopandas/tests/test_extension_array.py::TestMethods::test_container_shift[0-indices1-True] geopandas/tests/test_extension_array.py::TestMethods::test_container_shift[0-indices1-False] geopandas/tests/test_extension_array.py::TestMethods::test_container_shift[2-indices2-True] geopandas/tests/test_extension_array.py::TestMethods::test_container_shift[2-indices2-False] geopandas/tests/test_extension_array.py::TestMethods::test_shift_0_periods geopandas/tests/test_extension_array.py::TestMethods::test_shift_non_empty_array[-4-indices0] geopandas/tests/test_extension_array.py::TestMethods::test_shift_non_empty_array[-1-indices1] geopandas/tests/test_extension_array.py::TestMethods::test_shift_non_empty_array[0-indices2] geopandas/tests/test_extension_array.py::TestMethods::test_shift_non_empty_array[1-indices3] geopandas/tests/test_extension_array.py::TestMethods::test_shift_non_empty_array[4-indices4] geopandas/tests/test_extension_array.py::TestMethods::test_shift_empty_array[-4] geopandas/tests/test_extension_array.py::TestMethods::test_shift_empty_array[-1] geopandas/tests/test_extension_array.py::TestMethods::test_shift_empty_array[0] geopandas/tests/test_extension_array.py::TestMethods::test_shift_empty_array[1] geopandas/tests/test_extension_array.py::TestMethods::test_shift_empty_array[4] geopandas/tests/test_extension_array.py::TestMethods::test_shift_zero_copies geopandas/tests/test_extension_array.py::TestMethods::test_shift_fill_value geopandas/tests/test_extension_array.py::TestMethods::test_not_hashable geopandas/tests/test_extension_array.py::TestMethods::test_hash_pandas_object_works[True] geopandas/tests/test_extension_array.py::TestMethods::test_hash_pandas_object_works[False] geopandas/tests/test_extension_array.py::TestMethods::test_where_series[True] geopandas/tests/test_extension_array.py::TestMethods::test_where_series[False] geopandas/tests/test_extension_array.py::TestMethods::test_repeat[True-True-0] geopandas/tests/test_extension_array.py::TestMethods::test_repeat[True-True-1] geopandas/tests/test_extension_array.py::TestMethods::test_repeat[True-True-2] geopandas/tests/test_extension_array.py::TestMethods::test_repeat[True-True-repeats3] geopandas/tests/test_extension_array.py::TestMethods::test_repeat[True-False-0] geopandas/tests/test_extension_array.py::TestMethods::test_repeat[True-False-1] geopandas/tests/test_extension_array.py::TestMethods::test_repeat[True-False-2] geopandas/tests/test_extension_array.py::TestMethods::test_repeat[True-False-repeats3] geopandas/tests/test_extension_array.py::TestMethods::test_repeat[False-True-0] geopandas/tests/test_extension_array.py::TestMethods::test_repeat[False-True-1] geopandas/tests/test_extension_array.py::TestMethods::test_repeat[False-True-2] geopandas/tests/test_extension_array.py::TestMethods::test_repeat[False-True-repeats3] geopandas/tests/test_extension_array.py::TestMethods::test_repeat[False-False-0] geopandas/tests/test_extension_array.py::TestMethods::test_repeat[False-False-1] geopandas/tests/test_extension_array.py::TestMethods::test_repeat[False-False-2] geopandas/tests/test_extension_array.py::TestMethods::test_repeat[False-False-repeats3] geopandas/tests/test_extension_array.py::TestMethods::test_repeat_raises[True-2-kwargs0-ValueError-axis] geopandas/tests/test_extension_array.py::TestMethods::test_repeat_raises[True--1-kwargs1-ValueError-negative] geopandas/tests/test_extension_array.py::TestMethods::test_repeat_raises[True-repeats2-kwargs2-ValueError-shape] geopandas/tests/test_extension_array.py::TestMethods::test_repeat_raises[True-2-kwargs3-TypeError-'foo'] geopandas/tests/test_extension_array.py::TestMethods::test_repeat_raises[False-2-kwargs0-ValueError-axis] geopandas/tests/test_extension_array.py::TestMethods::test_repeat_raises[False--1-kwargs1-ValueError-negative] geopandas/tests/test_extension_array.py::TestMethods::test_repeat_raises[False-repeats2-kwargs2-ValueError-shape] geopandas/tests/test_extension_array.py::TestMethods::test_repeat_raises[False-2-kwargs3-TypeError-'foo'] geopandas/tests/test_extension_array.py::TestMethods::test_delete geopandas/tests/test_extension_array.py::TestMethods::test_insert geopandas/tests/test_extension_array.py::TestMethods::test_insert_invalid geopandas/tests/test_extension_array.py::TestMethods::test_insert_invalid_loc geopandas/tests/test_extension_array.py::TestMethods::test_equals[True-array] geopandas/tests/test_extension_array.py::TestMethods::test_equals[True-Series] geopandas/tests/test_extension_array.py::TestMethods::test_equals[True-DataFrame] geopandas/tests/test_extension_array.py::TestMethods::test_equals[False-array] geopandas/tests/test_extension_array.py::TestMethods::test_equals[False-Series] geopandas/tests/test_extension_array.py::TestMethods::test_equals[False-DataFrame] geopandas/tests/test_extension_array.py::TestMethods::test_equals_same_data_different_object geopandas/tests/test_extension_array.py::TestMethods::test_value_counts[data-True] geopandas/tests/test_extension_array.py::TestMethods::test_value_counts[data-False] geopandas/tests/test_extension_array.py::TestMethods::test_value_counts[data_missing-True] geopandas/tests/test_extension_array.py::TestMethods::test_value_counts[data_missing-False] geopandas/tests/test_extension_array.py::TestMethods::test_value_counts_with_normalize geopandas/tests/test_extension_array.py::TestCasting::test_astype_object_series[data] geopandas/tests/test_extension_array.py::TestCasting::test_astype_object_series[data_missing] geopandas/tests/test_extension_array.py::TestCasting::test_astype_object_frame[data] geopandas/tests/test_extension_array.py::TestCasting::test_astype_object_frame[data_missing] geopandas/tests/test_extension_array.py::TestCasting::test_tolist geopandas/tests/test_extension_array.py::TestCasting::test_astype_str geopandas/tests/test_extension_array.py::TestCasting::test_astype_string[string[python]] geopandas/tests/test_extension_array.py::TestCasting::test_to_numpy geopandas/tests/test_extension_array.py::TestCasting::test_astype_empty_dataframe geopandas/tests/test_extension_array.py::TestCasting::test_astype_own_type[True] geopandas/tests/test_extension_array.py::TestCasting::test_astype_own_type[False] geopandas/tests/test_extension_array.py::TestGroupby::test_grouping_grouper geopandas/tests/test_extension_array.py::TestGroupby::test_groupby_agg_extension geopandas/tests/test_extension_array.py::TestGroupby::test_groupby_extension_no_sort geopandas/tests/test_extension_array.py::TestGroupby::test_groupby_apply_identity geopandas/tests/test_extension_array.py::TestGroupby::test_in_numeric_groupby geopandas/tests/test_extension_array.py::TestPrinting::test_array_repr[big] geopandas/tests/test_extension_array.py::TestPrinting::test_array_repr[small] geopandas/tests/test_extension_array.py::TestPrinting::test_array_repr_unicode geopandas/tests/test_extension_array.py::TestPrinting::test_series_repr geopandas/tests/test_extension_array.py::TestPrinting::test_dataframe_repr geopandas/tests/test_extension_array.py::TestPrinting::test_dtype_name_in_info geopandas/tests/test_pandas_methods.py::test_repr geopandas/tests/test_pandas_methods.py::test_repr_boxed_display_precision geopandas/tests/test_pandas_methods.py::test_repr_all_missing geopandas/tests/test_pandas_methods.py::test_repr_empty geopandas/tests/test_pandas_methods.py::test_repr_linearring geopandas/tests/test_pandas_methods.py::test_indexing geopandas/tests/test_pandas_methods.py::test_reindex geopandas/tests/test_pandas_methods.py::test_take geopandas/tests/test_pandas_methods.py::test_take_empty geopandas/tests/test_pandas_methods.py::test_assignment geopandas/tests/test_pandas_methods.py::test_assign geopandas/tests/test_pandas_methods.py::test_astype_invalid_geodataframe geopandas/tests/test_pandas_methods.py::test_convert_dtypes geopandas/tests/test_pandas_methods.py::test_to_csv geopandas/tests/test_pandas_methods.py::test_numerical_operations geopandas/tests/test_pandas_methods.py::test_where geopandas/tests/test_pandas_methods.py::test_select_dtypes geopandas/tests/test_pandas_methods.py::test_equals geopandas/tests/test_pandas_methods.py::test_fillna geopandas/tests/test_pandas_methods.py::test_dropna geopandas/tests/test_pandas_methods.py::test_isna[None] geopandas/tests/test_pandas_methods.py::test_isna[nan] geopandas/tests/test_pandas_methods.py::test_any_all geopandas/tests/test_pandas_methods.py::test_unique geopandas/tests/test_pandas_methods.py::test_value_counts geopandas/tests/test_pandas_methods.py::test_groupby geopandas/tests/test_pandas_methods.py::test_groupby_groups geopandas/tests/test_pandas_methods.py::test_apply_no_geometry_result[None] geopandas/tests/test_pandas_methods.py::test_apply_no_geometry_result[EPSG:4326] geopandas/tests/test_pandas_methods.py::test_apply_preserves_geom_col_name geopandas/tests/test_pandas_methods.py::test_df_apply_returning_series geopandas/tests/test_pandas_methods.py::test_df_apply_geometry_dtypes geopandas/tests/test_pandas_methods.py::test_pivot geopandas/tests/test_pandas_methods.py::test_preserve_attrs geopandas/tests/test_pandas_methods.py::test_preserve_flags geopandas/tools/tests/test_hilbert_curve.py::test_hilbert_distance geopandas/tools/tests/test_hilbert_curve.py::test_hilbert_distance_level geopandas/tools/tests/test_hilbert_curve.py::test_specified_total_bounds geopandas/tools/tests/test_hilbert_curve.py::test_empty[None] geopandas/tools/tests/test_hilbert_curve.py::test_empty[empty1]