pandas.unique#
- pandas.unique(values)[源代码][源代码]#
基于哈希表返回唯一值。
唯一项按出现顺序返回。这不会排序。
对于足够长的序列,比 numpy.unique 显著更快。包含 NA 值。
- 参数:
- 值1维数组类
包含要从其中提取唯一值的值的类似数组的对象。
- 返回:
- numpy.ndarray, ExtensionArray 或 NumpyExtensionArray
返回可以是:
索引 : 当输入是索引时
分类 : 当输入是分类数据类型时
ndarray : 当输入是 Series/ndarray 时
返回 numpy.ndarray、ExtensionArray 或 NumpyExtensionArray。
参见
Index.unique
从 Index 中返回唯一值。
Series.unique
返回 Series 对象的唯一值。
示例
>>> 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'], dtype='datetime64[s]')
>>> pd.unique( ... pd.Series( ... [ ... pd.Timestamp("20160101", tz="US/Eastern"), ... pd.Timestamp("20160101", tz="US/Eastern"), ... ], ... dtype="M8[ns, 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"), ... ], ... dtype="M8[ns, US/Eastern]", ... ) ... ) DatetimeIndex(['2016-01-01 00:00:00-05:00'], dtype='datetime64[ns, US/Eastern]', freq=None)
>>> pd.unique(np.array(list("baabc"), dtype="O")) 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(pd.Series([("a", "b"), ("b", "a"), ("a", "c"), ("b", "a")]).values) array([('a', 'b'), ('b', 'a'), ('a', 'c')], dtype=object)
一个复数的 NumpyExtensionArray
>>> pd.unique(pd.array([1 + 1j, 2, 3])) <NumpyExtensionArray> [(1+1j), (2+0j), (3+0j)] Length: 3, dtype: complex128