Pandas vectorized custom apply без for-loop

Middle Python Fintech

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

**Контекст:** Скоринг кредитов. Нужно посчитать risk score из 3 фичей. Naive решение — for loop, медленно.

**Данные:** DataFrame `loans` (100K строк) — `amount`, `term_months`, `credit_history_years`.

**Задание:**
1. Реализуй векторизованный расчёт: risk_score = amount/1000 + term_months*2 - credit_history_years*5.
2. Сравни время: vectorized vs apply vs for loop.

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

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

loans = pd.DataFrame({
    'amount': np.random.uniform(10000, 500000, 100_000),
    'term_months': np.random.choice([12, 24, 36, 60], 100_000),
    'credit_history_years': np.random.uniform(0, 30, 100_000),
})

Темы

pandas vectorization apply performance

Подсказки

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

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

Какой уровень знаний нужен для задачи "Pandas vectorized custom apply без for-loop"?

Это задание для уровня Middle. Для middle-аналитиков с опытом 1-3 года, требует уверенного владения темой и понимания edge cases.

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

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

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

На реальном собеседовании на подобную задачу отводится 15-30 минут — оцениваются подход, корректность, обработка edge cases. Для тренировки рекомендуем сначала решить самостоятельно, потом сверить с эталонным решением и подсказками.

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

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

← Все задания