pandas.Series.unique#

Series.unique()[源代码][源代码]#

返回 Series 对象的唯一值。

唯一项按出现顺序返回。基于哈希表的唯一性,因此不进行排序。

返回:
ndarray 或 ExtensionArray

作为 NumPy 数组返回的唯一值。请参见注释。

参见

Series.drop_duplicates

返回删除了重复值的系列。

唯一

任何一维类数组对象的顶级唯一方法。

Index.unique

从 Index 对象返回具有唯一值的 Index。

备注

返回唯一值作为 NumPy 数组。在扩展数组支持的 Series 情况下,将返回该类型的新 ExtensionArray,仅包含唯一值。这包括

  • Categorical

  • 周期

  • 带时区的日期时间

  • 不带时区的日期时间

  • Timedelta

  • Interval

  • Sparse

  • IntegerNA

请参见示例部分。

例子

>>> 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()
<DatetimeArray>
['2016-01-01 00:00:00']
Length: 1, dtype: datetime64[s]
>>> pd.Series(
...     [pd.Timestamp("2016-01-01", tz="US/Eastern") for _ in range(3)]
... ).unique()
<DatetimeArray>
['2016-01-01 00:00:00-05:00']
Length: 1, dtype: datetime64[s, US/Eastern]

一个 Categorical 将按出现顺序返回类别,并具有相同的 dtype。

>>> pd.Series(pd.Categorical(list("baabc"))).unique()
['b', 'a', 'c']
Categories (3, object): ['a', 'b', 'c']
>>> pd.Series(
...     pd.Categorical(list("baabc"), categories=list("abc"), ordered=True)
... ).unique()
['b', 'a', 'c']
Categories (3, object): ['a' < 'b' < 'c']