pandas.unique
- pandas.unique(values)[source]
-
Возвращает уникальные значения, основанные на хеш-таблице.
Уникальные значения возвращаются в порядке их появления. Это НЕ сортировка.
Значительно быстрее, чем numpy.unique для достаточно длинных последовательностей. Включает значения NA.
- Параметры:
-
- values: одномерный массив-подобный объект
- Возвращает:
-
- numpy.ndarray или ExtensionArray
-
Возврат может быть:
Индекс: когда входной параметр — это Индекс
Категориальный: когда входной параметр имеет тип Categorical
ndarray: когда входной параметр — это Series/ndarray
Возвращает numpy.ndarray или ExtensionArray.
См. также
Index.unique-
Возвращает уникальные значения из Индекса.
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.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(np.array(list("baabc"), dtype="O")) array(['b', 'a', 'c'], dtype=object)Неупорядоченный Categorical вернёт категории в порядке их появления.
>>> 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']Упорядоченный Categorical сохраняет порядок категорий.
>>> 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)
© 2008–2022, AQR Capital Management, LLC, Lambda Foundry, Inc. and PyData Development Team
Licensed under the 3-clause BSD License.
https://pandas.pydata.org/pandas-docs/version/2.2.2/reference/api/pandas.unique.html