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.