From 42e21522a43a08ca1f09f6791ca22d2ddecab77f Mon Sep 17 00:00:00 2001 From: Paul Sanders Date: Sat, 11 Jul 2020 12:52:26 -0400 Subject: [PATCH 1/2] TST: added tests for sparse and date range quantiles --- pandas/tests/frame/methods/test_quantile.py | 39 +++++++++++++++++---- 1 file changed, 33 insertions(+), 6 deletions(-) diff --git a/pandas/tests/frame/methods/test_quantile.py b/pandas/tests/frame/methods/test_quantile.py index 0eec30cbc5c67..4f6c8ff670882 100644 --- a/pandas/tests/frame/methods/test_quantile.py +++ b/pandas/tests/frame/methods/test_quantile.py @@ -7,14 +7,29 @@ class TestDataFrameQuantile: - def test_quantile_sparse(self): + @pytest.mark.parametrize( + "df,expected", + [ + [ + pd.DataFrame( + { + 0: pd.Series(pd.arrays.SparseArray([1, 2])), + 1: pd.Series(pd.arrays.SparseArray([3, 4])), + } + ), + pd.Series([1.5, 3.5], name=0.5), + ], + [ + pd.DataFrame(pd.Series([0.0, None, 1.0, 2.0], dtype="Sparse[float]")), + pd.Series([1.0], name=0.5), + ], + ], + ) + def test_quantile_sparse(self, df, expected): # GH#17198 - s = pd.Series(pd.arrays.SparseArray([1, 2])) - s1 = pd.Series(pd.arrays.SparseArray([3, 4])) - df = pd.DataFrame({0: s, 1: s1}) - result = df.quantile() + # GH#24600 + result = df.quantile(0.5) - expected = pd.Series([1.5, 3.5], name=0.5) tm.assert_series_equal(result, expected) def test_quantile(self, datetime_frame): @@ -59,6 +74,18 @@ def test_quantile(self, datetime_frame): expected = Series([3.0, 4.0], index=[0, 1], name=0.5) tm.assert_series_equal(result, expected) + def test_quantile_date_range(self): + # GH 2460 + + dti = pd.date_range("2016-01-01", periods=3, tz="US/Pacific") + ser = pd.Series(dti) + df = pd.DataFrame(ser) + + result = df.quantile(0.5) + expected = pd.Series([], index=[], name=0.5, dtype=np.float64) + + tm.assert_series_equal(result, expected) + def test_quantile_axis_mixed(self): # mixed on axis=1 From 68b216c4bc15516c04b25f2485e7800562051448 Mon Sep 17 00:00:00 2001 From: Paul Sanders Date: Mon, 13 Jul 2020 15:48:24 -0400 Subject: [PATCH 2/2] TST: updating quantile arguments --- pandas/tests/frame/methods/test_quantile.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/pandas/tests/frame/methods/test_quantile.py b/pandas/tests/frame/methods/test_quantile.py index 4f6c8ff670882..0b8f1e0495155 100644 --- a/pandas/tests/frame/methods/test_quantile.py +++ b/pandas/tests/frame/methods/test_quantile.py @@ -28,7 +28,7 @@ class TestDataFrameQuantile: def test_quantile_sparse(self, df, expected): # GH#17198 # GH#24600 - result = df.quantile(0.5) + result = df.quantile() tm.assert_series_equal(result, expected) @@ -81,8 +81,10 @@ def test_quantile_date_range(self): ser = pd.Series(dti) df = pd.DataFrame(ser) - result = df.quantile(0.5) - expected = pd.Series([], index=[], name=0.5, dtype=np.float64) + result = df.quantile(numeric_only=False) + expected = pd.Series( + ["2016-01-02 00:00:00"], name=0.5, dtype="datetime64[ns, US/Pacific]" + ) tm.assert_series_equal(result, expected)