Метод rename_categories
Метод rename_categories аксессора cat применяется к категориальной колонке Series
и позволяет переименовывать существующие категории. В качестве первого параметра
можно передать словарь для выборочного переименования или список для массового
переименования всех категорий. Метод возвращает новую категориальную колонку
с изменёнными названиями категорий.
Синтаксис
ser.cat.rename_categories(new_categories)
Пример
Давайте переименуем отдельные категории с помощью словаря:
import pandas as pd
ser = pd.Series(['a', 'b', 'c', 'a'], dtype='category')
res = ser.cat.rename_categories({'a': 'first', 'b': 'second'})
print(res)
Результат выполнения кода:
0 first
1 second
2 c
3 first
dtype: category
Categories (3, object): ['c', 'first', 'second']
Пример
Давайте переименуем все категории с помощью списка:
import pandas as pd
ser = pd.Series(['x', 'y', 'x', 'z'], dtype='category')
res = ser.cat.rename_categories(['one', 'two', 'three'])
print(res)
Результат выполнения кода:
0 one
1 two
2 one
3 three
dtype: category
Categories (3, object): ['one', 'two', 'three']
Пример
Давайте переименуем категории с помощью функции-колбэка:
import pandas as pd
ser = pd.Series([1, 2, 3, 1], dtype='category')
res = ser.cat.rename_categories(lambda x: f'cat_{x}')
print(res)
Результат выполнения кода:
0 cat_1
1 cat_2
2 cat_3
3 cat_1
dtype: category
Categories (3, object): ['cat_1', 'cat_2', 'cat_3']
Пример
Давайте переименуем категории с сохранением порядка:
import pandas as pd
ser = pd.Series(['low', 'medium', 'high', 'low'], dtype='category')
ser = ser.cat.as_ordered()
res = ser.cat.rename_categories({'low': '1', 'medium': '2', 'high': '3'})
print(res)
Результат выполнения кода:
0 1
1 2
2 3
3 1
dtype: category
Categories (3, object): ['1' < '2' < '3']
Смотрите также
-
метод
reorder_categories,
который изменяет порядок категорий -
метод
add_categories,
который добавляет новые категории -
метод
remove_categories,
который удаляет существующие категории -
атрибут
categories,
который возвращает список категорий