Pandas как категоризировать возраст базы
Категоризация возраста в 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.