Парсинг CDR-логов — распределение звонков

Junior Python Телеком

Условие задания

**Контекст:** Телеком-оператор анализирует CDR (Call Detail Records) для планирования нагрузки на сеть.

**Данные:** DataFrame `cdr` — колонки: `call_id`, `caller_number` (строка `"+7916XXXXXXX"`), `callee_number`, `call_start` (строка `"2024-02-10 14:23:45"`), `duration_sec`, `call_type` (local, intercity, international), `cell_tower_id`.

**Задание:**
1. Парсите даты и извлеките час звонка
2. Постройте распределение звонков по часам и типам
3. Найдите топ-5 вышек по нагрузке и средний duration по типам звонков

Пример данных

Структура для ориентира — реальные значения из эталонного решения.

cdr = pd.DataFrame({
    'call_id': range(n),
    'caller_number': [f'+7{np.random.choice([916,925,903,926,985])}{np.random.randint(1000000,9999999)}' for _ in range(n)],
    'callee_number': [f'+7{np.random.choice([916,925,903,495,812])}{np.random.randint(1000000,9999999)}' for _ in range(n)],
    'call_start': pd.date_range('2024-02-01', periods=n, freq='3min'),
    'duration_sec': np.random.exponential(180, n).astype(int).clip(5, 3600),
    'call_type': np.random.choice(['local', 'intercity', 'international'], n, p=[0.7, 0.2, 0.1]),
    'cell_tower_id': np.random.choice(towers, n),
})

Темы

pandas datetime groupby str accessor телеком

Подсказки

Все тестовые задания →

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

Какой уровень знаний нужен для задачи "Парсинг CDR-логов — распределение звонков"?

Это задание для уровня Junior. Подходит для начинающих аналитиков, проверяет базовые знания SQL/Python/статистики.

На каких собеседованиях встречается такая задача?

Подобные задания в категории «Python» регулярно дают на собеседованиях аналитика данных в Яндекс, Сбер, Ozon, Авито, Тинькофф, Wildberries, T-Bank, X5, ВТБ и других крупных IT-компаниях. Тематика: pandas, datetime, groupby, str accessor, телеком.

Сколько времени даётся на решение?

На реальном собеседовании на подобную задачу отводится 5-10 минут — проверяется скорость и базовая грамотность. Для тренировки рекомендуем сначала решить самостоятельно, потом сверить с эталонным решением и подсказками.

Где ещё потренироваться по теме «Python»?

На zasqlpython.ru есть 482 Python задачи с проверкой через Pyodide, конспекты Python и pandas, AI мок-собеседование с разбором ваших ответов.

← Все задания