Категоризация возраста в Pandas при помощи функции cut () или qcut ().
cut () разбивает данные на интервалы по заданным границам, а qcut () разбивает данные на интервалы равного размера.
Пример использования cut () для категоризации возраста на группы «дети», «подростки», «взрослые» и «пожилые»:
import pandas as pd
# DataFrame с возрастом
df = pd.DataFrame({'возраст': [12, 25, 36, 54, 67, 80]})
# Границы возрастных категорий
bins = [0, 18, 30, 60, 120]
# Новый столбец с категориями возраста
df['возрастная группа'] = pd.cut(df['возраст'], bins, labels=['дети', 'подростки', 'взрослые', 'пожилые'])
print(df)
Вывод:
возраст возрастная группа 0 12 дети 1 25 подростки 2 36 взрослые 3 54 взрослые 4 67 пожилые 5 80 пожилые
Таким образом, был создан новый столбец «возрастная группа», который содержит категории возраста на основе границ, заданных в bins. Категории обозначены метками, указанными в параметре labels.
Категоризация возраста в Pandas при помощи библиотеку NumPy и функции digitize ()
Функция digitize () разбивает данные на интервалы по заданным границам и возвращает индексы интервалов для каждого элемента входного массива.
Пример использования digitize () для категоризации возраста на группы «дети», «подростки», «взрослые» и «пожилые»:
import pandas as pd
import numpy as np
# Создаем DataFrame с возрастом
df = pd.DataFrame({'возраст': [12, 25, 36, 54, 67, 80]})
# Определяем границы возрастных категорий
bins = [0, 18, 30, 60, np.inf]
# Добавляем новый столбец с категориями возраста
df['возрастная группа'] = np.digitize(df['возраст'], bins, right=True)
# Заменяем числовые индексы на категории
labels = {1: 'дети', 2: 'подростки', 3: 'взрослые', 4: 'пожилые'}
df['возрастная группа'] = df['возрастная группа'].replace(labels)
print(df)
Вывод:
возраст возрастная группа 0 12 дети 1 25 подростки 2 36 взрослые 3 54 взрослые 4 67 пожилые 5 80 пожилые
Таким образом, был создан новый столбец «возрастная группа», который содержит категории возраста на основе границ, заданных в bins. Индексы категорий обозначены числами от 1 до 4, затем мы заменили числовые индексы на категории, используя словарь labels.
