當前位置: 首頁>>編程示例 >>用法及示例精選 >>正文


Python pandas.unique用法及代碼示例

用法:

pandas.unique(values)

根據哈希表返回唯一值。

唯一性按出現的順序返回。這不會排序。

對於足夠長的序列,比 numpy.unique 快得多。包括 NA 值。

參數

values1d array-like

返回

numpy.ndarray 或 ExtensionArray

返回可以是:

  • 索引:當輸入是索引時

  • 分類:當輸入是分類 dtype

  • ndarray:當輸入是 Series/ndarray

返回 numpy.ndarray 或 ExtensionArray。

例子

>>> pd.unique(pd.Series([2, 1, 3, 3]))
array([2, 1, 3])
>>> pd.unique(pd.Series([2] + [1] * 5))
array([2, 1])
>>> pd.unique(pd.Series([pd.Timestamp("20160101"), pd.Timestamp("20160101")]))
array(['2016-01-01T00:00:00.000000000'], dtype='datetime64[ns]')
>>> pd.unique(
...     pd.Series(
...         [
...             pd.Timestamp("20160101", tz="US/Eastern"),
...             pd.Timestamp("20160101", tz="US/Eastern"),
...         ]
...     )
... )
<DatetimeArray>
['2016-01-01 00:00:00-05:00']
Length:1, dtype:datetime64[ns, US/Eastern]
>>> pd.unique(
...     pd.Index(
...         [
...             pd.Timestamp("20160101", tz="US/Eastern"),
...             pd.Timestamp("20160101", tz="US/Eastern"),
...         ]
...     )
... )
DatetimeIndex(['2016-01-01 00:00:00-05:00'],
        dtype='datetime64[ns, US/Eastern]',
        freq=None)
>>> pd.unique(list("baabc"))
array(['b', 'a', 'c'], dtype=object)

無序分類將按出現順序返回類別。

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

有序分類保留類別排序。

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

元組數組

>>> pd.unique([("a", "b"), ("b", "a"), ("a", "c"), ("b", "a")])
array([('a', 'b'), ('b', 'a'), ('a', 'c')], dtype=object)

相關用法


注:本文由純淨天空篩選整理自pandas.pydata.org大神的英文原創作品 pandas.unique。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。