From 354795e7f666cc0fbb003e426adcfd03538575c7 Mon Sep 17 00:00:00 2001 From: Maria del Mar Bibiloni Date: Sat, 10 Mar 2018 15:48:52 +0100 Subject: [PATCH 1/6] pandas.Index.is_categorical from base.py documented --- pandas/core/indexes/base.py | 36 +++++++++++++++++++++++++++++++++++- 1 file changed, 35 insertions(+), 1 deletion(-) diff --git a/pandas/core/indexes/base.py b/pandas/core/indexes/base.py index 7e6ae88a26e7c..a012ef99bd0db 100644 --- a/pandas/core/indexes/base.py +++ b/pandas/core/indexes/base.py @@ -1156,7 +1156,7 @@ def to_frame(self, index=True): >>> idx = pd.Index(['Ant', 'Bear', 'Cow'], name='animal') >>> idx.to_frame() animal - animal + animal Ant Ant Bear Bear Cow Cow @@ -1471,6 +1471,40 @@ def is_object(self): return is_object_dtype(self.dtype) def is_categorical(self): + """ + Check if the index type is categorical. + + The given object must be a pandas dataframe or pandas Series. + + Returns + ---------- + boolean + True if index is categorical. + + Examples + -------- + >>> s = pd.Series(["Watermelon","Orange","Apple", + ... "Watermelon"]).astype('category') + >>> df = pd.DataFrame({'Weight (grams)':[2000,230,160,1300]}, index=s) + >>> df + Weight (grams) + Watermelon 2000 + Orange 230 + Apple 160 + Watermelon 1300 + >>> df.index.is_categorical() + True + + >>> df = pd.Series(["Peter","Adam","Elisabeth","Margareth"]) + >>> df + 0 Peter + 1 Adam + 2 Elisabeth + 3 Margareth + dtype: object + >>> df.index.is_categorical() + False + """ return self.inferred_type in ['categorical'] def is_interval(self): From 1755bee125afdc6170f414a11cffef7a18e40c66 Mon Sep 17 00:00:00 2001 From: Maria del Mar Bibiloni Date: Sat, 10 Mar 2018 16:08:08 +0100 Subject: [PATCH 2/6] pandas.Index.is_categorical from base.py documented and some errors solved --- pandas/core/indexes/base.py | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/pandas/core/indexes/base.py b/pandas/core/indexes/base.py index a012ef99bd0db..91551e99e2438 100644 --- a/pandas/core/indexes/base.py +++ b/pandas/core/indexes/base.py @@ -1472,20 +1472,21 @@ def is_object(self): def is_categorical(self): """ - Check if the index type is categorical. + Check if the Index type is categorical. - The given object must be a pandas dataframe or pandas Series. + The given object must be a pandas DataFrame or pandas Series. Returns - ---------- + ------- boolean True if index is categorical. Examples -------- - >>> s = pd.Series(["Watermelon","Orange","Apple", + >>> s = pd.Series(["Watermelon", "Orange", "Apple", ... "Watermelon"]).astype('category') - >>> df = pd.DataFrame({'Weight (grams)':[2000,230,160,1300]}, index=s) + >>> df = pd.DataFrame({'Weight (grams)': [2000, 230, 160, 1300]}, + ... index=s) >>> df Weight (grams) Watermelon 2000 @@ -1495,14 +1496,14 @@ def is_categorical(self): >>> df.index.is_categorical() True - >>> df = pd.Series(["Peter","Adam","Elisabeth","Margareth"]) - >>> df + >>> s = pd.Series(["Peter", "Adam", "Elisabeth", "Margareth"]) + >>> s 0 Peter 1 Adam 2 Elisabeth 3 Margareth dtype: object - >>> df.index.is_categorical() + >>> s.index.is_categorical() False """ return self.inferred_type in ['categorical'] From 5a972b4f6109b4480d5eb10e3b4ec90d12f66c7a Mon Sep 17 00:00:00 2001 From: Maria del Mar Bibiloni Date: Sun, 11 Mar 2018 19:37:43 +0100 Subject: [PATCH 3/6] pandas.Index.is_categorical from base.py with new examples and extended summary --- pandas/core/indexes/base.py | 27 ++++++++++++--------------- 1 file changed, 12 insertions(+), 15 deletions(-) diff --git a/pandas/core/indexes/base.py b/pandas/core/indexes/base.py index 91551e99e2438..4917061a82465 100644 --- a/pandas/core/indexes/base.py +++ b/pandas/core/indexes/base.py @@ -1474,7 +1474,8 @@ def is_categorical(self): """ Check if the Index type is categorical. - The given object must be a pandas DataFrame or pandas Series. + The given object must be a pandas DataFrame index or a pandas Series + index. Returns ------- @@ -1483,25 +1484,21 @@ def is_categorical(self): Examples -------- - >>> s = pd.Series(["Watermelon", "Orange", "Apple", - ... "Watermelon"]).astype('category') - >>> df = pd.DataFrame({'Weight (grams)': [2000, 230, 160, 1300]}, - ... index=s) - >>> df - Weight (grams) - Watermelon 2000 - Orange 230 - Apple 160 - Watermelon 1300 - >>> df.index.is_categorical() + >>> idx = pd.Index(["Watermelon", "Orange", "Apple", + ... "Watermelon"]).astype("category") + >>> idx.is_categorical() True - >>> s = pd.Series(["Peter", "Adam", "Elisabeth", "Margareth"]) + >>> idx = pd.Index([1, 3, 5, 7]) + >>> idx.is_categorical() + False + + >>> s = pd.Series(["Peter", "Víctor", "Elisabeth", "Mar"]) >>> s 0 Peter - 1 Adam + 1 Víctor 2 Elisabeth - 3 Margareth + 3 Mar dtype: object >>> s.index.is_categorical() False From e6e12c6f62d739e89f4216868a6fd0562782b87d Mon Sep 17 00:00:00 2001 From: Tom Augspurger Date: Sun, 11 Mar 2018 16:58:58 -0500 Subject: [PATCH 4/6] Added See Also. Removed Extended summary --- pandas/core/indexes/base.py | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/pandas/core/indexes/base.py b/pandas/core/indexes/base.py index 4917061a82465..a6c8d98eae610 100644 --- a/pandas/core/indexes/base.py +++ b/pandas/core/indexes/base.py @@ -1472,15 +1472,16 @@ def is_object(self): def is_categorical(self): """ - Check if the Index type is categorical. - - The given object must be a pandas DataFrame index or a pandas Series - index. + Check if the Index holds categorical data. Returns ------- boolean - True if index is categorical. + True if the Index is categorical. + + See Also + -------- + CategoricalIndex : Index for categorical data. Examples -------- From a4586f2cd946b60a82476b417a57b5749bf1f126 Mon Sep 17 00:00:00 2001 From: Tom Augspurger Date: Sun, 11 Mar 2018 17:00:16 -0500 Subject: [PATCH 5/6] Added back whitepace --- pandas/core/indexes/base.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pandas/core/indexes/base.py b/pandas/core/indexes/base.py index a6c8d98eae610..a508ed0a02ec6 100644 --- a/pandas/core/indexes/base.py +++ b/pandas/core/indexes/base.py @@ -1156,7 +1156,7 @@ def to_frame(self, index=True): >>> idx = pd.Index(['Ant', 'Bear', 'Cow'], name='animal') >>> idx.to_frame() animal - animal + animal Ant Ant Bear Bear Cow Cow From 218737a2a94d865645ee2c42714834815bb5c577 Mon Sep 17 00:00:00 2001 From: Tom Augspurger Date: Mon, 12 Mar 2018 09:30:21 -0500 Subject: [PATCH 6/6] to_frame formatting --- pandas/core/indexes/base.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pandas/core/indexes/base.py b/pandas/core/indexes/base.py index a508ed0a02ec6..031ee7d5d1119 100644 --- a/pandas/core/indexes/base.py +++ b/pandas/core/indexes/base.py @@ -1155,8 +1155,8 @@ def to_frame(self, index=True): -------- >>> idx = pd.Index(['Ant', 'Bear', 'Cow'], name='animal') >>> idx.to_frame() - animal - animal + animal + animal Ant Ant Bear Bear Cow Cow