Представьте: вы открыли датасет, а там 40% пропусков, дубликаты, кривые типы и столбец с датами в формате «01/02/2023» и «Jan 2, 2023» одновременно. Знакомо? По данным опроса Anaconda State of Data Science 2022, специалисты по данным тратят до 45% времени на очистку и подготовку данных. Это не просто «неприятная необходимость» — это реальный тормоз проектов.
Хорошая новость: LLM вроде ChatGPT (GPT-4/4o) уже сейчас способны взять на себя рутину: сгенерировать код для pandas, предложить стратегию обработки выбросов, построить график и даже объяснить результаты заказчику. Но чтобы получить рабочий результат, нужны точные промты. В этой подборке — 12 проверенных шаблонов, которые превращают ChatGPT в полноценного ассистента аналитика. Каждый промт сопровождается примером запроса и пояснением, для какой задачи он подходит.
1. Разведочный анализ данных (EDA) за 5 минут
Задача: быстро понять структуру датасета, типы, пропуски и базовые статистики.
Промт:
"Ты — аналитик данных. У меня есть DataFrame df с данными о продажах. Напиши код на Python, который выведет: форму, типы столбцов, количество пропусков, описательные статистики для числовых и категориальных признаков. Используй pandas и выведи результат в читаемом виде."
Пример использования: ChatGPT сгенерирует код с df.info(), df.describe(), df.isnull().sum(), а также предложит value_counts() для категорий. Вы сразу увидите, где нужно чистить данные.
2. Умная очистка пропусков
Задача: обработать пропуски, не потеряв важную информацию.
Промт:
"В датасете df есть пропуски в столбцах age, income, city. Предложи стратегию заполнения: для числовых — медиана или среднее в зависимости от распределения, для категориальных — мода или отдельная метка 'Unknown'. Напиши код с комментариями, почему выбран каждый метод."
Пример: ChatGPT проанализирует распределение (если попросить df['age'].hist()), предложит медиану для age из-за выбросов и создаст новый признак income_missing для сохранения информации о пропуске.
3. Борьба с дубликатами и выбросами
Задача: удалить дубликаты и обработать аномалии.
Промт:
"Напиши код, который: 1) находит и удаляет полные дубликаты в df; 2) для столбца price определяет выбросы методом IQR и заменяет их на границы (winsorization). Объясни, почему выбран именно этот метод."
Пример: ChatGPT предложит использовать df.drop_duplicates() и scipy.stats.iqr с расчетом границ Q1 - 1.5*IQR и Q3 + 1.5*IQR. Такой подход сохраняет данные, но снижает влияние экстремальных значений.
4. Приведение типов и парсинг дат
Задача: преобразовать строки в даты, числа и категории.
Промт:
"В df столбец date содержит даты в разных форматах (например, '2023-01-01', '01/02/2023'). Напиши функцию на Python, которая приводит их к единому формату datetime, обрабатывая ошибки. Также преобразуй category в тип category и amount в float, удалив символы '$'."
Пример: ChatGPT предложит pd.to_datetime(df['date'], errors='coerce', infer_datetime_format=True) и df['amount'].str.replace('$', '').astype(float). Не забудьте проверить errors='coerce' — он превратит неудачные парсинги в NaT.
5. Feature Engineering с подсказками
Задача: создать новые признаки на основе существующих.
Промт:
"У меня есть столбцы registration_date и last_purchase_date. Предложи 3 новых признака, которые помогут предсказать отток клиентов, и напиши код для их создания с помощью pandas."
Пример: ChatGPT предложит days_since_last_purchase, purchase_frequency (если есть данные о транзакциях), is_active (флаг активности за последние 30 дней). Код будет с dt.days и pd.cut.
6. Группировка и агрегация без ошибок
Задача: сделать сводные таблицы по группам.
Промт:
"Сгруппируй данные df по region и product_category, посчитай суммарные продажи, средний чек и количество уникальных клиентов. Выведи результат в виде DataFrame, отсортированный по убыванию продаж."
Пример: ChatGPT сгенерирует df.groupby(['region','product_category']).agg({'sales':'sum', 'check':'mean', 'client_id':'nunique'}).reset_index().sort_values('sales', ascending=False). Работает без ошибок, если правильно указать названия столбцов.
7. Визуализация: графики, которые говорят
Задача: построить понятные графики для презентации.
Промт:
"Построй 3 графика для датасета df: 1) распределение целевой переменной target; 2) корреляционную матрицу числовых признаков; 3) boxplot зависимости price от category. Используй seaborn и matplotlib, настрой стиль и подписи."
Пример: ChatGPT напишет код с sns.histplot, sns.heatmap(df.corr(), annot=True) и sns.boxplot(x='category', y='price', data=df). Вы получите готовые изображения для отчёта.
8. Интерактивные графики с Plotly
Задача: создать динамические графики для дашборда.
Промт:
"Сделай интерактивный scatter plot с помощью Plotly Express: по оси X — date, по оси Y — sales, цвет — region, размер точки — profit. Добавь возможность наведения и фильтрации по региону."
Пример: ChatGPT предложит px.scatter(df, x='date', y='sales', color='region', size='profit', hover_data=['product']). Такой график легко встроить в Streamlit или Jupyter.
9. Автоматический отчёт с Sweetviz или pandas-profiling
Задача: быстро сгенерировать EDA-отчёт.
Промт:
"Напиши код, который создаёт автоматический отчёт по датасету df с помощью библиотеки ydata-profiling (бывшая pandas-profiling). Сохрани отчёт в HTML-файл."
Пример: ChatGPT сгенерирует: from ydata_profiling import ProfileReport; profile = ProfileReport(df); profile.to_file('report.html'). Отчёт включает статистики, корреляции, пропуски — идеально для быстрого ознакомления.
10. Объяснение результатов для заказчика
Задача: перевести технические выводы на бизнес-язык.
Промт:
"У меня есть результаты корреляционного анализа: sales сильно коррелирует с marketing_spend (r=0.85) и слабо с temperature (r=0.1). Напиши краткое пояснение для заказчика без технического жаргона, с акцентом на бизнес-действия."
Пример: ChatGPT выдаст: «Увеличение расходов на маркетинг strongly связано с ростом продаж. Температура не оказывает заметного влияния. Рекомендуется пересмотреть маркетинговый бюджет». Такой текст можно вставлять в отчёт.
11. Оптимизация кода pandas для больших данных
Задача: ускорить обработку, если данные не влезают в память.
Промт:
"Мой датасет df содержит 10 млн строк. Операции с pandas работают медленно. Предложи 3 способа оптимизации: использование категориальных типов, chunking при чтении и альтернативные библиотеки (Dask, Polars). Приведи пример кода."
Пример: ChatGPT порекомендует pd.read_csv(..., chunksize=100000), преобразование строк в category и переход на Polars для скорости. Проверьте на своих данных — часто ускорение в разы.
12. Промт для отладки кода анализа
Задача: исправить ошибку в существующем коде.
Промт:
"Я написал код для очистки данных, но получаю ошибку KeyError: 'column_name'. Вот код: [вставьте код]. Объясни причину и предложи исправление."
Пример: ChatGPT проанализирует код, укажет на опечатку в названии столбца или отсутствие столбца после предыдущих преобразований, и даст исправленный вариант. Экономит часы отладки.
| № | Промт | Основная задача |
|---|---|---|
| 1 | EDA за 5 минут | Быстрый обзор данных |
| 2 | Очистка пропусков | Заполнение пропусков |
| 3 | Дубликаты и выбросы | Удаление аномалий |
| 4 | Типы и даты | Приведение форматов |
| 5 | Feature Engineering | Создание признаков |
| 6 | Группировка | Сводные таблицы |
| 7 | Визуализация | Графики для отчёта |
| 8 | Plotly | Интерактивные графики |
| 9 | Автоотчёт | Быстрый EDA |
| 10 | Объяснение заказчику | Бизнес-интерпретация |
| 11 | Оптимизация | Ускорение pandas |
| 12 | Отладка | Исправление ошибок |
Эти 12 промтов покрывают 90% рутинных задач аналитика. Главное — давать ChatGPT контекст: названия столбцов, типы данных, цель анализа. Чем точнее запрос, тем меньше итераций. И помните: LLM не заменяет аналитика, но снимает рутину, позволяя сосредоточиться на интерпретации и бизнес-выводах.
Попробуйте применить хотя бы 3 промта из подборки на текущем проекте — и вы удивитесь, сколько времени освободится. А если хотите системно прокачать навыки работы с данными и AI-ассистентами, обратите внимание на курсы по Python и Data Science на asibiont.com — там вы найдёте практические задания и поддержку экспертов.
Comments