From a71737cef8d68339e08d6aa1b1909b17e79f3e23 Mon Sep 17 00:00:00 2001 From: Nighthawx <41290641+intEll1gent@users.noreply.github.com> Date: Wed, 5 Jun 2019 19:36:59 +0530 Subject: [PATCH 1/4] Deprecate Series/Dataframe.to_dense/to_sparse() --- pandas/core/frame.py | 5 +++++ pandas/core/series.py | 3 +++ pandas/core/sparse/frame.py | 15 +++++++++++++++ pandas/core/sparse/series.py | 5 ++++- 4 files changed, 27 insertions(+), 1 deletion(-) diff --git a/pandas/core/frame.py b/pandas/core/frame.py index 5957b23535350..bc632cc05370b 100644 --- a/pandas/core/frame.py +++ b/pandas/core/frame.py @@ -1887,6 +1887,8 @@ def from_csv(cls, path, header=0, sep=',', index_col=0, parse_dates=True, def to_sparse(self, fill_value=None, kind='block'): """ + ..deprecated:: 0.25.0 + Convert to SparseDataFrame. Implement the sparse version of the DataFrame meaning that any data @@ -1939,6 +1941,9 @@ def to_sparse(self, fill_value=None, kind='block'): >>> type(sdf) # doctest: +SKIP """ + warning_message ="""to_sparse is deprecated and will be removed in a future version""" + warnings.warn(warning_message, FutureWarning, stacklevel=2) + from pandas.core.sparse.api import SparseDataFrame return SparseDataFrame(self._series, index=self.index, columns=self.columns, default_kind=kind, diff --git a/pandas/core/series.py b/pandas/core/series.py index 8fb6ad3e3ccc5..6f5bd2565f7c8 100644 --- a/pandas/core/series.py +++ b/pandas/core/series.py @@ -1573,6 +1573,7 @@ def to_frame(self, name=None): def to_sparse(self, kind='block', fill_value=None): """ + ..deprecated:: 0.25.0 Convert Series to SparseSeries. Parameters @@ -1586,6 +1587,8 @@ def to_sparse(self, kind='block', fill_value=None): SparseSeries Sparse representation of the Series. """ + warning_message ="""to_sparse is deprecated and will be removed in a future version""" + warnings.warn(warning_message, FutureWarning, stacklevel=2) from pandas.core.sparse.series import SparseSeries values = SparseArray(self, kind=kind, fill_value=fill_value) diff --git a/pandas/core/sparse/frame.py b/pandas/core/sparse/frame.py index 0320da6d9a48d..ed48066dc63ce 100644 --- a/pandas/core/sparse/frame.py +++ b/pandas/core/sparse/frame.py @@ -277,6 +277,21 @@ def _unpickle_sparse_frame_compat(self, state): @Appender(SparseFrameAccessor.to_dense.__doc__) def to_dense(self): + """ + ..deprecated:: 0.25.0 + Use Dataframe.sparse.to_dense() instead + """ + + + warning_message ="""to_dense is deprecated and will be removed in a future version + + Use Dataframe.sparse.to_dense() instead + + >>> df = pd.DataFrame({"A": pd.SparseArray([0, 1, 0])}) + >>> df.sparse.to_dense() + """ + warnings.warn(warning_message, FutureWarning, stacklevel=2) + return SparseFrameAccessor(self).to_dense() def _apply_columns(self, func): diff --git a/pandas/core/sparse/series.py b/pandas/core/sparse/series.py index 3814d8bb66635..c8b1fb322814b 100644 --- a/pandas/core/sparse/series.py +++ b/pandas/core/sparse/series.py @@ -428,12 +428,15 @@ def _set_values(self, key, value): def to_dense(self): """ + ..deprecated:: 0.25.0 Convert SparseSeries to a Series. - Returns ------- s : Series """ + warning_message ="""to_dense is deprecated and will be removed in a future version""" + warnings.warn(warning_message, FutureWarning, stacklevel=2) + return Series(self.values.to_dense(), index=self.index, name=self.name) From fc08e93f0bcbbdaa052d8ec5417e3eb92626f5f0 Mon Sep 17 00:00:00 2001 From: Nighthawx <41290641+intEll1gent@users.noreply.github.com> Date: Wed, 5 Jun 2019 19:47:13 +0530 Subject: [PATCH 2/4] Update series.py --- pandas/core/sparse/series.py | 1 + 1 file changed, 1 insertion(+) diff --git a/pandas/core/sparse/series.py b/pandas/core/sparse/series.py index c8b1fb322814b..c830a4d60bb91 100644 --- a/pandas/core/sparse/series.py +++ b/pandas/core/sparse/series.py @@ -428,6 +428,7 @@ def _set_values(self, key, value): def to_dense(self): """ + ..deprecated:: 0.25.0 Convert SparseSeries to a Series. Returns From 82c713d290d6f07900aa81249a663c9ae00ef326 Mon Sep 17 00:00:00 2001 From: Nighthawx <41290641+intEll1gent@users.noreply.github.com> Date: Wed, 5 Jun 2019 21:06:48 +0530 Subject: [PATCH 3/4] Beautify --- pandas/core/frame.py | 7 ++++--- pandas/core/series.py | 3 ++- pandas/core/sparse/frame.py | 11 +++++------ pandas/core/sparse/series.py | 7 ++++--- 4 files changed, 15 insertions(+), 13 deletions(-) diff --git a/pandas/core/frame.py b/pandas/core/frame.py index bc632cc05370b..5936082e88497 100644 --- a/pandas/core/frame.py +++ b/pandas/core/frame.py @@ -1888,7 +1888,7 @@ def from_csv(cls, path, header=0, sep=',', index_col=0, parse_dates=True, def to_sparse(self, fill_value=None, kind='block'): """ ..deprecated:: 0.25.0 - + Convert to SparseDataFrame. Implement the sparse version of the DataFrame meaning that any data @@ -1941,9 +1941,10 @@ def to_sparse(self, fill_value=None, kind='block'): >>> type(sdf) # doctest: +SKIP """ - warning_message ="""to_sparse is deprecated and will be removed in a future version""" + warning_message = """to_sparse is deprecated and will be + removed in a future version""" warnings.warn(warning_message, FutureWarning, stacklevel=2) - + from pandas.core.sparse.api import SparseDataFrame return SparseDataFrame(self._series, index=self.index, columns=self.columns, default_kind=kind, diff --git a/pandas/core/series.py b/pandas/core/series.py index 6f5bd2565f7c8..f339dd901fa64 100644 --- a/pandas/core/series.py +++ b/pandas/core/series.py @@ -1587,7 +1587,8 @@ def to_sparse(self, kind='block', fill_value=None): SparseSeries Sparse representation of the Series. """ - warning_message ="""to_sparse is deprecated and will be removed in a future version""" + warning_message = """to_sparse is deprecated and + will be removed in a future version""" warnings.warn(warning_message, FutureWarning, stacklevel=2) from pandas.core.sparse.series import SparseSeries diff --git a/pandas/core/sparse/frame.py b/pandas/core/sparse/frame.py index ed48066dc63ce..b238187841f74 100644 --- a/pandas/core/sparse/frame.py +++ b/pandas/core/sparse/frame.py @@ -281,17 +281,16 @@ def to_dense(self): ..deprecated:: 0.25.0 Use Dataframe.sparse.to_dense() instead """ - - - warning_message ="""to_dense is deprecated and will be removed in a future version - + + warning_message = """to_dense is deprecated and will be removed in a future version + Use Dataframe.sparse.to_dense() instead - + >>> df = pd.DataFrame({"A": pd.SparseArray([0, 1, 0])}) >>> df.sparse.to_dense() """ warnings.warn(warning_message, FutureWarning, stacklevel=2) - + return SparseFrameAccessor(self).to_dense() def _apply_columns(self, func): diff --git a/pandas/core/sparse/series.py b/pandas/core/sparse/series.py index c830a4d60bb91..19819dd1ec362 100644 --- a/pandas/core/sparse/series.py +++ b/pandas/core/sparse/series.py @@ -428,16 +428,17 @@ def _set_values(self, key, value): def to_dense(self): """ - + ..deprecated:: 0.25.0 Convert SparseSeries to a Series. Returns ------- s : Series """ - warning_message ="""to_dense is deprecated and will be removed in a future version""" + warning_message = """to_dense is deprecated and will be + removed in a future version""" warnings.warn(warning_message, FutureWarning, stacklevel=2) - + return Series(self.values.to_dense(), index=self.index, name=self.name) From 39230d43f8439c63c180b9ce8bd7fe9e9eb151f3 Mon Sep 17 00:00:00 2001 From: Nighthawx <41290641+intEll1gent@users.noreply.github.com> Date: Wed, 5 Jun 2019 21:41:38 +0530 Subject: [PATCH 4/4] Beautify --- pandas/core/frame.py | 5 +++-- pandas/core/series.py | 6 +++--- pandas/core/sparse/frame.py | 3 ++- pandas/core/sparse/series.py | 5 ++--- 4 files changed, 10 insertions(+), 9 deletions(-) diff --git a/pandas/core/frame.py b/pandas/core/frame.py index 5936082e88497..1b3b0df1f2c29 100644 --- a/pandas/core/frame.py +++ b/pandas/core/frame.py @@ -1941,8 +1941,9 @@ def to_sparse(self, fill_value=None, kind='block'): >>> type(sdf) # doctest: +SKIP """ - warning_message = """to_sparse is deprecated and will be - removed in a future version""" + warning_message = """\ + to_sparse is deprecated and will be removed in a future version + """ warnings.warn(warning_message, FutureWarning, stacklevel=2) from pandas.core.sparse.api import SparseDataFrame diff --git a/pandas/core/series.py b/pandas/core/series.py index f339dd901fa64..6b46f1cf8c55b 100644 --- a/pandas/core/series.py +++ b/pandas/core/series.py @@ -1587,9 +1587,9 @@ def to_sparse(self, kind='block', fill_value=None): SparseSeries Sparse representation of the Series. """ - warning_message = """to_sparse is deprecated and - will be removed in a future version""" - warnings.warn(warning_message, FutureWarning, stacklevel=2) + + warnings.warn("to_sparse is deprecated and will be removed" + "in a future version", FutureWarning, stacklevel=2) from pandas.core.sparse.series import SparseSeries values = SparseArray(self, kind=kind, fill_value=fill_value) diff --git a/pandas/core/sparse/frame.py b/pandas/core/sparse/frame.py index b238187841f74..9ee208197e79b 100644 --- a/pandas/core/sparse/frame.py +++ b/pandas/core/sparse/frame.py @@ -282,7 +282,8 @@ def to_dense(self): Use Dataframe.sparse.to_dense() instead """ - warning_message = """to_dense is deprecated and will be removed in a future version + warning_message = """\ + to_dense is deprecated and will be removed in a future version Use Dataframe.sparse.to_dense() instead diff --git a/pandas/core/sparse/series.py b/pandas/core/sparse/series.py index 19819dd1ec362..3e0150ea62292 100644 --- a/pandas/core/sparse/series.py +++ b/pandas/core/sparse/series.py @@ -435,9 +435,8 @@ def to_dense(self): ------- s : Series """ - warning_message = """to_dense is deprecated and will be - removed in a future version""" - warnings.warn(warning_message, FutureWarning, stacklevel=2) + warnings.warn("to_dense is deprecated and will be removed" + "in a future version", FutureWarning, stacklevel=2) return Series(self.values.to_dense(), index=self.index, name=self.name)