From eea3c889310333e343e346a4738e4555f34693ae Mon Sep 17 00:00:00 2001 From: Xavier Choudhury Date: Mon, 9 Apr 2018 23:21:58 -0400 Subject: [PATCH 1/2] added check if cat_dtype --- pandas/core/sparse/series.py | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/pandas/core/sparse/series.py b/pandas/core/sparse/series.py index 714cd09a27294..a97da288bf942 100644 --- a/pandas/core/sparse/series.py +++ b/pandas/core/sparse/series.py @@ -19,6 +19,7 @@ import pandas.core.ops as ops import pandas._libs.index as libindex from pandas.util._decorators import Appender +from pandas.api.types import is_categorical_dtype from pandas.core.sparse.array import ( make_sparse, SparseArray, @@ -129,6 +130,14 @@ def __init__(self, data=None, index=None, sparse_index=None, kind='block', 'be False.') else: + if is_categorical_dtype(data): + if dtype is not None: + data = data.astype(dtype) + if index is None: + index = data.index.view() + else: + data=data.reindex(index, copy=False) + length = len(index) if data == fill_value or (isna(data) and isna(fill_value)): From 90756c6fccf79fba7c00bbe99f96000aa68c4e2e Mon Sep 17 00:00:00 2001 From: Xavier Choudhury Date: Mon, 9 Apr 2018 23:32:54 -0400 Subject: [PATCH 2/2] fixed style on line 139 --- pandas/core/sparse/series.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pandas/core/sparse/series.py b/pandas/core/sparse/series.py index a97da288bf942..671da44a02866 100644 --- a/pandas/core/sparse/series.py +++ b/pandas/core/sparse/series.py @@ -136,7 +136,7 @@ def __init__(self, data=None, index=None, sparse_index=None, kind='block', if index is None: index = data.index.view() else: - data=data.reindex(index, copy=False) + data = data.reindex(index, copy=False) length = len(index)