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.