pd.cut(series, bins) разбивает непрерывную величину на интервалы-корзины по заданным границам и присваивает каждому значению метку интервала. Парная pd.qcut режет по квантилям (равное число наблюдений в корзине). Аналитик применяет их для сегментации: возрастные группы, ценовые бакеты, RFM-сегменты.
Интервалы cut по умолчанию правозакрытые: (17,25] включает 25, но не 17 — на границах легко ошибиться. Меток должно быть на одну меньше, чем границ. Ключевая разница cut vs qcut: cut режет по ЗНАЧЕНИЮ (равные интервалы), qcut — по КОЛИЧЕСТВУ (равное число наблюдений, границы плавают). Результат — категориальный тип; для строк добавь .astype(str).
Где спрашивают на собеседовании
pd.cut/qcut спрашивают в задачах на сегментацию: «разбей клиентов на группы», «сделай квартили». Ценят знание разницы cut (по значению) и qcut (по квантилям) и понимание правозакрытых интервалов.
FAQ: частые вопросы про pd.cut
В чём разница pd.cut и pd.qcut?
cut режет по заданным границам значений (интервалы могут содержать разное число наблюдений). qcut режет по квантилям — в каждой корзине примерно равное число наблюдений, а границы подбираются автоматически.
Как задать подписи корзин?
Параметр labels: pd.cut(s, bins=[...], labels=['A','B','C']). Меток на одну меньше, чем границ bins.
Какие интервалы у cut — включают границы?
По умолчанию правозакрытые: (a, b] — правая граница включена, левая нет. Поставь right=False для левозакрытых [a, b).