From a3033269d2ed80fe324a60195aab572c60a902bd Mon Sep 17 00:00:00 2001 From: Ming Li Date: Fri, 23 Mar 2018 21:58:52 +0000 Subject: [PATCH] DOC: docstring to series.unique (#20474) --- pandas/core/base.py | 24 ----------------------- pandas/core/series.py | 45 ++++++++++++++++++++++++++++++++++++++++++- 2 files changed, 44 insertions(+), 25 deletions(-) diff --git a/pandas/core/base.py b/pandas/core/base.py index 99e2af9fb3aebd..8907e9144b60ed 100644 --- a/pandas/core/base.py +++ b/pandas/core/base.py @@ -1021,30 +1021,6 @@ def value_counts(self, normalize=False, sort=True, ascending=False, normalize=normalize, bins=bins, dropna=dropna) return result - _shared_docs['unique'] = ( - """ - Return unique values in the object. Uniques are returned in order - of appearance, this does NOT sort. Hash table-based unique. - - Parameters - ---------- - values : 1d array-like - - Returns - ------- - unique values. - - If the input is an Index, the return is an Index - - If the input is a Categorical dtype, the return is a Categorical - - If the input is a Series/ndarray, the return will be an ndarray - - See Also - -------- - unique - Index.unique - Series.unique - """) - - @Appender(_shared_docs['unique'] % _indexops_doc_kwargs) def unique(self): values = self._values diff --git a/pandas/core/series.py b/pandas/core/series.py index da598259d272dd..48e6453e364911 100644 --- a/pandas/core/series.py +++ b/pandas/core/series.py @@ -1429,8 +1429,51 @@ def mode(self): # TODO: Add option for bins like value_counts() return algorithms.mode(self) - @Appender(base._shared_docs['unique'] % _shared_doc_kwargs) def unique(self): + """ + Return unique values of Series object. + + Uniques are returned in order of appearance. Hash table-based unique, + therefore does NOT sort. + + Returns + ------- + ndarray or Categorical + The unique values returned as a NumPy array. In case of categorical + data type, returned as a Categorical. + + See Also + -------- + pandas.unique : top-level unique method for any 1-d array-like object. + Index.unique : return Index with unique values from an Index object. + + Examples + -------- + >>> pd.Series([2, 1, 3, 3], name='A').unique() + array([2, 1, 3]) + + >>> pd.Series([pd.Timestamp('2016-01-01') for _ in range(3)]).unique() + array(['2016-01-01T00:00:00.000000000'], dtype='datetime64[ns]') + + >>> pd.Series([pd.Timestamp('2016-01-01', tz='US/Eastern') + ... for _ in range(3)]).unique() + array([Timestamp('2016-01-01 00:00:00-0500', tz='US/Eastern')], + dtype=object) + + An unordered Categorical will return categories in the order of + appearance. + + >>> pd.Series(pd.Categorical(list('baabc'))).unique() + [b, a, c] + Categories (3, object): [b, a, c] + + An ordered Categorical preserves the category ordering. + + >>> pd.Series(pd.Categorical(list('baabc'), categories=list('abc'), + ... ordered=True)).unique() + [b, a, c] + Categories (3, object): [a < b < c] + """ result = super(Series, self).unique() if is_datetime64tz_dtype(self.dtype):