pandasОчистка данныхEasyБесплатно~7 мин

Парсинг даты + извлечение компонент

// Условие

Таблица событий df, у которой колонка event_ts хранится как строка в формате '2024-03-15 14:30:00'.

Что нужно
В переменную result верни DataFrame, в котором:
  • колонка event_ts сконвертирована в datetime;
  • добавлены 4 новые колонки:
    • month — номер месяца (1..12);
    • day_of_week — день недели (0=понедельник, 6=воскресенье);
    • hour — час;
    • is_weekend — True/False: суббота или воскресенье;
Все исходные колонки сохраняются.

// Данные

df: event_id, user_id, event_ts (string), event_type
▶ Решить в pandas-тренажёре

// Решение

Подсказка

Конвертация: pd.to_datetime(df['event_ts']) — pandas сам распознаёт ISO-формат.

Из datetime извлекай через .dt: df['event_ts'].dt.month, .dt.dayofweek, .dt.hour.

is_weekend = dayofweek >= 5 (суббота=5, воскресенье=6). Это уже даст bool.

Сначала попробуй сам → Показать решение
df = load_data()

df['event_ts']    = pd.to_datetime(df['event_ts'])
df['month']       = df['event_ts'].dt.month
df['day_of_week'] = df['event_ts'].dt.dayofweek
df['hour']        = df['event_ts'].dt.hour
df['is_weekend']  = df['event_ts'].dt.dayofweek >= 5

result = df
print(result.head())
print(result.dtypes)
Аксессор .dt — главный инструмент работы с датами. Если формат «грязный» (например '15/03/2024'), передай format='%d/%m/%Y'. Для смешанных/невалидных дат — errors='coerce' (превратит в NaT). Бонус: .dt.day_name() вернёт английские названия дней.

// Похожие задачи