Как стать автором
Обновить

Как я освоил анализ табличных данных с программированием на русском

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров4K

Контекст задачи. Анализ данных розничной сети для проверки предпринимательской гипотезы

Я работаю в небольшой консалтинговой компании архитектором ИТ-систем управления товародвижением и коммерческими процессами на платформе SAP.
На прошлой неделе в рамках пресейла занялся непривычной для себя задачей проверки предпринимательской гипотезы на данных.

Удачно сложилось, что параллельно я прохожу курс “Рациональная работа” в школе системного менеджмента. В рамках этого курса я нарисовал для гипотезы диаграмму причинно-следственных связей.

На рисунке ниже гипотеза выделена зеленым блоком, а также видны другие причины, которые могут приводить к тем же результатам.

Pasted image 20250215122821
Pasted image 20250215122821

Итак, на входе имелись:

  • Рабочая гипотеза. В сети Х есть существенная неэффективность в процессах пополнения магазинов товарами в преддверии планируемого снижения цен.

  • Данные. Выгруженные в csv файлы фактические данные из ERP системы для анализа этой гипотезы (справочники товаров и магазинов, история запасов, продаж, цен)

  • Макет целевого отчета. К этому времени мы с коллегами уже обсудили в первом приближении образ конечного результата, т.е. сделали макет целевого отчета и требования к отбору в него данных.

  • Желание не инвестировать долго в дохлую лошадь. Поэтому для начала хочется быстро проверить наличие примеров подтверждающих гипотезу и дать оценку сверху для существующих экономических потерь.

Pasted image 202502151228211143×456 31.5 KB

День 1. Черновик отчета с помощью ноутбука Jupiter c Python и чата с Deepseek/ChatGPT

Что делать с данными в первом приближении понятно, сырые данные есть. Значит, нужен инструмент обработки данных, с помощью которого можно реализовать процессинг и делать это мелкими и быстрыми итерациями.

Сначала я подумал про Excel. У меня большой опыт анализа данных в Excel, который в основном сводится к мастерскому владению функцией ВПР и сводными таблицами. Вот беда - у Excel ограничение на 1 млн строк, а в выгруженных файлах по 5 млн строк и это еще до того, как мы начинаем их соединять между собой.

Затем я вспомнил что у меня на рабочем компьютере до сих пор стоит дистрибутив Anaconda с ноутбуком Jupiter - это такая web-IDE для работы с Python в основном в области анализа данных. С Python я познакомился в 2019 году в рамках курса по анализу данных на Курсере и тех пор забыл примерно всё про синтаксис и библиотеки. Ну разве что осталось бытовое понимание, что библиотека pandas вроде хороша для работы с табличными данными.
Учить по честному Python пару месяцев ради задачи, которую надо решить за часы - не вариант. Значит будем читить и воспользуемся ИИ.

Поэтому в первый день я попеременно общался с моделями Deepseek R1 (chat.deepseek.com) и o3-mini (chat.openai.com) и писал код в Jupiter.
Результаты - примерно за 4 часа получена первая версия целевого отчета (с кучей недостающих аналитик) и я испытываю смешанные чувства:

  1. С одной стороны, я точно понимаю что производительность фантастическая. Без помощи ИИ я бы по старинке читал документации к библиотекам, статьи, stack overflow и та же работа на незнакомом инструменте затянулась бы как минимум на несколько недель.

  2. С другой стороны, такая работа вызывает глубокое и сильное раздражение. Чату всё время надо аккуратно задавать контекст, копировать имеющийся код или писать от руки правильные названия переменных. Когда копируешь код в Jupiter, он не работает с первого раза именно из-за неточного попадания в контекст, приходится разбираться и править на месте руками.

Вечером после работы я рефлексировал над проделанной работой и решил, что мне нужен AI, который сам видит контекст задачи (мой код и желательно данные), чтобы не тратить время и нервы на написание текста с контекстом в каждом промте.

Сначала попробовал VS Code с плагинами. Результат отрицательный. Пара самых популярных плагинов нужного типа (Github copilot и еще какой-то) отказываются даже начинать работать без vpn, а vpn для работы с ними конфликтует с рабочими vpn для подключения к клиентам.

В качестве третьей попытки выбрал Сursor (www.cursor.com). Это брат-близнец VS Code со встроенными интерфейсными возможностями для общения с ИИ. Тут всё удалось найти, поставить, и настроить где-то за час. Бесплатная версия дает на 2 недели попробовать работу без особых ограничений и не жалуется на то, что ты в России.

День 2. Итоговый отчет с помощью AI Copilot от Cursor. Наслаждаемся полетом!

На второй день я продолжил итеративно развивать получившийся пайплайн и его результат - итоговый отчет.
Сначала скопировал код из Jupiter в Cursor и убедился что он работает, а дальше начал добавлять фичи.
С Cursor можно работать по разному, нижу опишу что я попробовал.

Способ 1 . Просим в чате решить относительно большие куски задачи

Вот картинка с иллюстрацией. Верхний зелёный блок - это то что уже было нижний - код, добавленный ИИ в отчет на вопрос в чате справа.
Примечание для занудных как я: строка 7 уже была до ответа ИИ, я ошибся с выделением на скрине.

Pasted image 20250215125830
Pasted image 20250215125830

Pasted image 202502151258302157×1011 287 KB

Способ 2. Пишем комментарий на русском → получаем автоматом строки кода на питоне → проверяем результат → двигаемся дальше

В основном делал так: в нужном месте просто вставлял комментарий на свободном русском языке, какое следующее преобразование данных я хочу получить.
Дальше нажимаешь пробел, через долю секунды Cursor предлагает внизу серым одну или несколько строк кода для реализации комментария, нажимаешь Tab - вуаля, код добавлен. Проверяем при помощи чтения кода и банального print на реальных данных, что получилось то что нужно и удивляемся В 9 случаях из 10 этот код просто делает то что я хочу с первого раза.
Результат выглядит как на картинке. Я написал серые тексты комментариев, код на питоне писал ИИ.

Pasted image 20250215130430
Pasted image 20250215130430

Pasted image 202502151304301761×829 131 KB

Такой способ оказался по производительности как минимум в два раза быстрее отдельного общения с ИИ в режиме чата, которым я пользовался в первый день.

И главное - вместо фрустрации испытываешь фантастическое чувство полета!
Ты быстро пишешь что делать дальше, твой ИИ coplilot практически безошибочно конвертирует это в строки кода на близком к незнакомому языке программирования.

Выводы - cursor фантастически снижает порог входа для (недо)джуниоров в языке.

У меня на входе было многое:

  • образование в ИТ

  • данные

  • представление о целевом отчете

  • понимание шагов преобразования данных чтобы этот отчет получить.

Для получения результата за часы, а не недели не хватало только одного компонента - знания синтаксиса и библиотек Python.

Если вы в такой же ситуации, как и я - пора завести себе ИИ-копилота и делать небольшие, но практически нужные рабочие продукты с попутным ощущением фантастического полета.

Теги:
Хабы:
Всего голосов 6: ↑6 и ↓0+8
Комментарии4

Публикации

Истории

Ближайшие события

4 – 5 апреля
Геймтон «DatsCity»
Онлайн
8 апреля
Конференция TEAMLY WORK MANAGEMENT 2025
МоскваОнлайн
25 – 26 апреля
IT-конференция Merge Tatarstan 2025
Казань
20 – 22 июня
Летняя айти-тусовка Summer Merge
Ульяновская область