Skip to content

Commit

Permalink
DOC: docstring to series.unique (pandas-dev#20474)
Browse files Browse the repository at this point in the history
  • Loading branch information
minggli authored and Andrew Bui committed Apr 2, 2018
1 parent da3be94 commit a303326
Show file tree
Hide file tree
Showing 2 changed files with 44 additions and 25 deletions.
24 changes: 0 additions & 24 deletions pandas/core/base.py
Original file line number Diff line number Diff line change
Expand Up @@ -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

Expand Down
45 changes: 44 additions & 1 deletion pandas/core/series.py
Original file line number Diff line number Diff line change
Expand Up @@ -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):
Expand Down

0 comments on commit a303326

Please sign in to comment.