← Все уроки

Pandas с нуля. Часть 6: преобразования — apply, .str, .dt…

Учимся создавать колонки в pandas: assign, векторизация vs apply, map, аксессоры .str и .dt, astype, to_datetime, where/mask и биннинг через cut/qcut для аналит

Урок курса «Pandas с нуля» — открой бесплатной регистрацией
Ниже — план урока. Зарегистрируйся за 30 секунд, чтобы открыть полную теорию и 4 задачи с автопроверкой прямо в браузере (Python и pandas прямо в браузере), сохранять прогресс и пройти все 10 частей бесплатно.

Это часть 6 из 10 курса «Pandas с нуля для аналитика».

Данные почти никогда не приходят в том виде, в котором их можно сразу анализировать. Дата лежит строкой, цена с символом валюты, имя клиента в смешанном регистре, а тебе нужна когорта по месяцу регистрации. Эта часть — про то, как из сырых колонок делать те, что нужны: добавлять новые признаки, чистить текст, вытаскивать год из даты и резать числа на группы. Это и есть 80% ежедневной работы аналитика — feature engineering.

Что разберёшь в этом уроке

Частые вопросы

Чем apply отличается от векторизованных операций?

Векторизованные операции (df['a'] + df['b'], df['x'] * 2) работают на уровне C сразу над всем массивом и в десятки раз быстрее. apply вызывает Python-функцию построчно или поколоночно — гибко, но медленно, поэтому его берут только когда векторизация невозможна.

Как применить строковые методы к колонке в pandas?

Через аксессор .str: df['name'].str.lower(), df['name'].str.contains('ООО'), df['code'].str.split('-'). Эти методы векторизованы и автоматически пропускают NaN, в отличие от обычных строковых методов Python.

Как извлечь год или месяц из колонки с датами?

Сначала приведите колонку к datetime через pd.to_datetime, затем используйте аксессор .dt: df['date'].dt.year, df['date'].dt.month, df['date'].dt.dayofweek. Для группировки по периодам удобен df['date'].dt.to_period('M').

Free — после регистрации
0 ₽
  • Все 10 уроков курса + 36 интерактивных задач
  • 5 SQL и 5 Python-задач в тренажёре
  • 5 кейсов · 10 метрик · 1 AI-собеседование
Начать бесплатно →
Pro
1 999 ₽/мес
  • Все 545 SQL + 538 Python-задач
  • 610 кейсов · 394 метрик · 664 заданий
  • Безлимит AI-собеседований с разбором
Оформить Pro →