Метод remove_categories
Метод remove_categories аксессора cat применяется к категориальной серии Series и удаляет указанные категории. В результате удалённые категории становятся отсутствующими значениями NaN. Первым параметром передаётся список категорий, которые необходимо удалить.
Синтаксис
ser.cat.remove_categories(remove, inplace=False)
Параметр remove принимает список категорий для удаления. Параметр inplace определяет, изменять ли исходную серию. По умолчанию False - возвращается новая серия.
Пример
Давайте удалим категорию 'b' из серии:
import pandas as pd
ser = pd.Series(['a', 'b', 'c', 'a', 'b'], dtype='category')
res = ser.cat.remove_categories(['b'])
print(res)
Результат выполнения кода:
0 a
1 NaN
2 c
3 a
4 NaN
dtype: category
Categories (2, object): ['a', 'c']
Пример
Удалим несколько категорий одновременно:
import pandas as pd
ser = pd.Series(['x', 'y', 'z', 'x'], dtype='category')
res = ser.cat.remove_categories(['y', 'z'])
print(res)
Результат выполнения кода:
0 x
1 NaN
2 NaN
3 x
dtype: category
Categories (1, object): ['x']
Пример
Используем параметр inplace для изменения исходной серии:
import pandas as pd
ser = pd.Series([1, 2, 3, 1], dtype='category')
ser.cat.remove_categories([2], inplace=True)
print(ser)
Результат выполнения кода:
0 1
1 NaN
2 3
3 1
dtype: category
Categories (2, int64): [1, 3]
Смотрите также
-
метод
rename_categories,
который переименовывает категории -
метод
add_categories,
который добавляет новые категории -
метод
remove_unused_categories,
который удаляет неиспользуемые категории -
метод
set_categories,
который устанавливает новые категории