Функция cut
Функция cut применяется к числовым данным
и разбивает их на интервалы (бины). Она полезна
для преобразования непрерывных переменных
в дискретные категории. Основные параметры:
первым аргументом передаётся массив данных,
вторым - количество интервалов или границы
интервалов. Можно также задать метки для
интервалов и указать, включать ли правую
границу интервала.
Синтаксис
pd.cut(x, bins, labels=None, right=True, ...)
Пример
Разобьём числовые данные на 3 интервала:
import pandas as pd
ser = pd.Series([1, 2, 3, 4, 5])
res = pd.cut(ser, bins=3)
print(res)
Результат выполнения кода:
0 (0.995, 2.333]
1 (0.995, 2.333]
2 (2.333, 3.667]
3 (3.667, 5.0]
4 (3.667, 5.0]
dtype: category
Пример
Зададим конкретные границы интервалов:
import pandas as pd
ser = pd.Series([1, 2, 3, 4, 5])
res = pd.cut(ser, bins=[0, 2, 4, 6])
print(res)
Результат выполнения кода:
0 (0, 2]
1 (0, 2]
2 (2, 4]
3 (2, 4]
4 (4, 6]
dtype: category
Пример
Добавим понятные метки для интервалов:
import pandas as pd
ser = pd.Series([1, 2, 3, 4, 5])
res = pd.cut(
ser,
bins=[0, 2, 4, 6],
labels=['low', 'middle', 'high']
)
print(res)
Результат выполнения кода:
0 low
1 low
2 middle
3 middle
4 high
dtype: category
Пример
Изменим способ включения границ интервала (левая граница включается, правая нет):
import pandas as pd
ser = pd.Series([1, 2, 3, 4, 5])
res = pd.cut(
ser,
bins=[0, 2, 4, 6],
right=False
)
print(res)
Результат выполнения кода:
0 [0, 2)
1 [2, 4)
2 [2, 4)
3 [4, 6)
4 [4, 6)
dtype: category
Пример
Применим функцию к столбцу таблицы:
import pandas as pd
df = pd.DataFrame({
'a': [1, 2, 3, 4, 5],
'b': [10, 20, 30, 40, 50]
})
df['a_group'] = pd.cut(
df['a'],
bins=[0, 2, 4, 6],
labels=['low', 'middle', 'high']
)
print(df)
Результат выполнения кода:
a b a_group
0 1 10 low
1 2 20 low
2 3 30 middle
3 4 40 middle
4 5 50 high
Смотрите также
-
функция
qcut,
которая разбивает данные по квантилям -
функция
crosstab,
которая строит таблицу частот по категориям -
функция
pivot_table,
которая строит сводные таблицы с агрегацией -
функция
get_dummies,
которая преобразует категории в бинарные столбцы