Класс CategoricalIndex
Класс CategoricalIndex является индексом,
предназначенным для работы с категориальными данными.
Он расширяет функциональность обычного индекса,
добавляя методы для эффективной работы с категориями.
При создании индекса можно указать категории и порядок их следования.
Категориальный индекс позволяет экономить память и ускоряет операции
группировки и фильтрации.
Синтаксис
pd.CategoricalIndex(data, categories=None, ordered=False, dtype=None, copy=False, name=None)
Параметры
Метод принимает следующие параметры:
- ⁅b⁆data⁅/b⁆ - данные для создания индекса, могут быть переданы в виде списка, массива или Series
- ⁅b⁆categories⁅/b⁆ - список уникальных категорий, по умолчанию определяется автоматически из данных
- ⁅b⁆ordered⁅/b⁆ - булевый флаг, указывающий на упорядоченность категорий, по умолчанию False
- ⁅b⁆dtype⁅/b⁆ - тип данных для хранения категорий, может быть передан явно
- ⁅b⁆copy⁅/b⁆ - булевый флаг, указывающий, следует ли копировать данные, по умолчанию False
- ⁅b⁆name⁅/b⁆ - имя для индекса, необязательный параметр
Пример
Создадим категориальный индекс из списка значений:
import pandas as pd
data = ['a', 'b', 'c', 'a', 'b']
idx = pd.CategoricalIndex(data)
print(idx)
Результат выполнения кода:
CategoricalIndex(['a', 'b', 'c', 'a', 'b'], categories=['a', 'b', 'c'], ordered=False, dtype='category')
Пример
Создадим категориальный индекс с явным указанием категорий:
import pandas as pd
data = ['a', 'b', 'c', 'a', 'b']
categories = ['a', 'b', 'c', 'd']
idx = pd.CategoricalIndex(data, categories=categories)
print(idx)
Результат выполнения кода:
CategoricalIndex(['a', 'b', 'c', 'a', 'b'], categories=['a', 'b', 'c', 'd'], ordered=False, dtype='category')
Пример
Создадим упорядоченный категориальный индекс:
import pandas as pd
data = ['a', 'b', 'c', 'a', 'b']
categories = ['a', 'b', 'c']
idx = pd.CategoricalIndex(data, categories=categories, ordered=True)
print(idx)
Результат выполнения кода:
CategoricalIndex(['a', 'b', 'c', 'a', 'b'], categories=['a', 'b', 'c'], ordered=True, dtype='category')
Пример
Используем категориальный индекс в DataFrame:
import pandas as pd
data = ['a', 'b', 'c', 'a', 'b']
idx = pd.CategoricalIndex(data, categories=['a', 'b', 'c'])
df = pd.DataFrame({'value': [1, 2, 3, 4, 5]}, index=idx)
print(df)
Результат выполнения кода:
value
a 1
b 2
c 3
a 4
b 5
Смотрите также
-
класс
CategoricalIndex,
который представляет категориальный индекс -
метод
CategoricalIndex,
который создает индекс из категорий -
метод
CategoricalIndex,
который позволяет упорядочивать категории -
метод
CategoricalIndex,
который используется для эффективной обработки категорий