Метод as_unordered
Метод as_unordered применяется к категориальной Series через аксессор cat и возвращает ту же серию, но с отключенной упорядоченностью категорий.
Если категории уже неупорядочены, метод просто возвращает копию исходного объекта.
Метод не принимает никаких параметров.
Синтаксис
ser.cat.as_unordered()
Пример
Создадим упорядоченную категориальную серию и удалим её упорядоченность:
import pandas as pd
ser = pd.Series(
[1, 2, 3, 1, 2],
dtype=pd.CategoricalDtype([1, 2, 3], ordered=True)
)
print(ser.cat.ordered)
ser_unordered = ser.cat.as_unordered()
print(ser_unordered.cat.ordered)
Результат выполнения кода:
True
False
Пример
Применим метод к уже неупорядоченной категориальной серии:
import pandas as pd
ser = pd.Series(
['a', 'b', 'a', 'c'],
dtype=pd.CategoricalDtype(['a', 'b', 'c'], ordered=False)
)
print(ser.cat.ordered)
ser_same = ser.cat.as_unordered()
print(ser_same.cat.ordered)
Результат выполнения кода:
False
False
Пример
Покажем, что при удалении упорядоченности данные остаются неизменными:
import pandas as pd
ser = pd.Series(
[10, 20, 30, 20, 10],
dtype=pd.CategoricalDtype([10, 20, 30], ordered=True)
)
print("Исходная серия:")
print(ser)
res = ser.cat.as_unordered()
print("После as_unordered:")
print(res)
Результат выполнения кода:
Исходная серия:
0 10
1 20
2 30
3 20
4 10
dtype: category
Categories (3, int64): [10 < 20 < 30]
После as_unordered:
0 10
1 20
2 30
3 20
4 10
dtype: category
Categories (3, int64): [10, 20, 30]
Смотрите также
-
метод
as_ordered,
который делает категории упорядоченными -
метод
ordered,
который проверяет упорядоченность категорий -
метод
reorder_categories,
который изменяет порядок категорий -
метод
set_categories,
который заменяет категории на новые