diff --git a/pandas/core/sparse/frame.py b/pandas/core/sparse/frame.py index 0320da6d9a48d..67ecbcbea67f9 100644 --- a/pandas/core/sparse/frame.py +++ b/pandas/core/sparse/frame.py @@ -242,6 +242,11 @@ def _init_spmatrix(self, data, index, columns, dtype=None, def to_coo(self): return SparseFrameAccessor(self).to_coo() + def __repr__(self): + with warnings.catch_warnings(): + warnings.filterwarnings("ignore", "Sparse") + return super().__repr__() + def __getstate__(self): # pickling return dict(_typ=self._typ, _subtyp=self._subtyp, _data=self._data, diff --git a/pandas/core/sparse/series.py b/pandas/core/sparse/series.py index 3814d8bb66635..3e3bae6444082 100644 --- a/pandas/core/sparse/series.py +++ b/pandas/core/sparse/series.py @@ -214,10 +214,12 @@ def as_sparse_array(self, kind=None, fill_value=None, copy=False): fill_value=fill_value, kind=kind, copy=copy) def __repr__(self): - series_rep = Series.__repr__(self) - rep = '{series}\n{index!r}'.format(series=series_rep, - index=self.sp_index) - return rep + with warnings.catch_warnings(): + warnings.filterwarnings("ignore", "Sparse") + series_rep = Series.__repr__(self) + rep = '{series}\n{index!r}'.format(series=series_rep, + index=self.sp_index) + return rep def _reduce(self, op, name, axis=0, skipna=True, numeric_only=None, filter_type=None, **kwds): diff --git a/pandas/tests/sparse/test_format.py b/pandas/tests/sparse/test_format.py index 37c2acc587cf6..7ed8c48fce333 100644 --- a/pandas/tests/sparse/test_format.py +++ b/pandas/tests/sparse/test_format.py @@ -1,3 +1,5 @@ +import warnings + import numpy as np import pytest @@ -133,3 +135,14 @@ def test_sparse_repr_after_set(self): repr(sdf) tm.assert_sp_frame_equal(sdf, res) + + +def test_repr_no_warning(): + with warnings.catch_warnings(): + warnings.simplefilter("ignore", FutureWarning) + df = pd.SparseDataFrame({"A": [1, 2]}) + s = df['A'] + + with tm.assert_produces_warning(None): + repr(df) + repr(s)