ОБУЧЕНИЕ СО скидкой ДО 57%
Новый год — новая профессия
Блог Productstar

«Автоматизация на полную катушку»: зачем аналитику кодить на Python?

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

Когда начинающий аналитик «приходит» к этому, возникает вопрос: какой язык программирования учить, чтобы повысить эффективность работы? Популярный вариант в этой среде — Python. И в этой статье мы решили разобраться, почему аналитики выбирают именно его.
Несколько слов о языках программирования
По некоторым данным сегодня существует больше 8 тысяч языков программирования (ЯП). Регулярно появляются новые или улучшенные версии старых. Например, у BASIC есть более трехста диалектов. У вас в голове может возникнуть вопрос, зачем нужно так много языков программирования, неужели нельзя сделать один универсальный.

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

Первым языком программирования считают C. Он появился в 1972 году и с того момента неизменно остается лидером рейтингов самых популярных ЯП. Разработчики делают выбор в пользу него из-за простого синтаксиса и, как следствие, легкой и быстрой компиляции процессором в машинный код. Это обеспечивает высокую скорость работы команд.

Есть у него и существенный минус — сложность чтения. В современных языках программирования используется максимум буквенных и словесных обозначений, а в С преобладают символы.

Развитие ЯП следует вслед за технологическим прогрессом. Когда компьютеры и программное обеспечение стали сложнее, разработчики начали понимать: им чего-то не хватает для более эффективной работы — новых библиотек, формул и автоматизации. Это привело к появлению С++ и С#. Они отличаются большим функционалом, который автоматизирует выполнение рутинных задач.

Количество библиотек и функций (готовых решений) в языке программирования очень важно. Чем их больше, тем проще работа программиста. Это как, например, готовые шаблоны интерфейсов для мобильных приложений: выбираешь понравившийся и адаптируешь под конкретные цели и задачи.

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

В среде программистов очень популярен Git — распределенная система управления версиями. Туда разработчики выкладывают свои уникальные решения для разных языков программирования. И любой может скачать их для собственного использования.

В общем, выбор ЯП для аналитика — непростая задача. А если сделать неправильный выбор, то потеряете много времени. Поэтому далее поговорим о том, чем руководствоваться при выборе языка программирования и какому отдают предпочтение опытные аналитики.
Как выбрать подходящий для себя язык программирования
Выбирайте язык программирования, исходя из основной квалификации. Если по ней вы — программист, ограничений нет, для вас не будет проблемой разобраться в любом синтаксисе. Во всех остальных случаях (например, вы аналитик, но по работе приходится работать с языками программирования) выбирайте простой язык, на освоение основных команд которого уйдет немного времени.

Еще один критерий — возможность с помощью выбранного языка программирования решать основные отраслевые задачи. Сюда же относится современность, то есть насколько часто он обновляется. Не рассматривайте языки, в которых последнее нововведение было несколько лет назад. Скорее всего, они уже с трудом решают текущие задачи, а спустя некоторое время и вовсе будут неспособны это делать.

Некоторые специалисты советуют обращать внимание на скорость выполнения команд выбранным языком программирования, но на самом деле это не имеет решающего значения. В действительности скорость во многом зависит от технических характеристик используемого оборудования. Так что в этом плане себя не ограничивайте, для аналитики подойдет язык с любой скоростью работы.
Почему Python распространен среди аналитиков
Да, многие опытные аналитики делают выбор в пользу Python. Data Science-специалисты в большинстве своем — математики, а не программисты. Поэтому им для работы необходим простой, но в тоже время функциональный язык. В этой сфере он имеет множество сильных сторон. Далее поговорим об основных из них.
Высокая продуктивность разработки

У Python простой синтаксис. Это позволяет писать код быстрее, чем на других языках программирования (например, на Java или C). Причем код на Питоне получается читабельным и легко интерпретируемым. Вот так выглядит расчет факториала на Java:
А вот так на Python:
Несложно догадаться, написание какого кода занимает меньше времени. К тому же, второй вариант воспринимается легче.
Низкий порог входа для изучения

Анализом данных обычно занимаются те, кто участвуют в управлении бизнесом — предприниматели, аналитики, экономисты и т.п. Когда возникает потребность изучения языка программирования, остается мало времени на решение важных задач. Поэтому отказываются от Java, C и подобных, так как их изучение занимает много времени.

Оптимальный вариант — Python со своим простым синтаксисом, на изучение которого уходит минимум времени и средств. На освоение всего синтаксиса уходит 7-10 дней, затем практика по написанию простых скриптов — еще 7-10 дней. Уверенным пользователем этого языка программирования можно стать за 3-4 месяца.
«Интерактивность» языка

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

Встроенный интерпретатор пригодится специалистам, работающим с Big Data. Кроме анализа данных, приходится часто улучшать алгоритмы их обработки. И так как Питон предлагает неявную и динамическую типизацию данных, сходу определить оптимизацию не получится, это можно сделать только в процессе исполнения кода. Для этого и нужен интерпретатор.

Он автоматически преобразует исходный код в машинные инструкции. На основе этого генерируются идеи по оптимизации. Например, если сравнить две инструкции, выполняющие одинаковые функции, получится быстро понять, почему одна работает быстрее другой.
Динамичное развитие языка

Java и C++ сильно отстают по скорости развития от Python. Последний больше открыт для комьюнити: любой разработчик может предлагать свои идеи, которые впоследствии могут быть добавлены в обновление. Благодаря этому с каждой новой версией производительность языка повышается, а синтаксис совершенствуется.

Обновления Java и C++ утверждает специальная комиссия. Это — причина низкой скорости развития языков программирования. Специалисты собираются раз в несколько лет и не всегда принимают ожидаемые решения.
Необходимость командной проработки решений

Работая с интерпретатором языка, невозможно с ходу определить детали низкоуровневых машинных вычислений. Поэтому разработчикам приходится собираться вместе с подробно обсуждать все тонкости проекта.

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

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

То, что Python — самый популярный язык среди аналитиков, подтверждает исследование Женевьевы Хейз (Genevieve Hayes), прошедшее в конце августа прошлого года. В ходе него она проанализировала 100 вакансий аналитиков. Для чистоты результата брала разные по размеру компании — от мелких до крупных. Не рассматривала должности руководителей отделов аналитики, только непосредственных специалистов, выполняющих различные задачи по анализу данных.

Искомых специалистов разделила на три категории (в процентах указано, сколько компаний ищут работников такого класса):

  • начинающие (entry) — 15%;
  • средние специалисты (mid) — 44%;
  • старшие эксперты (senior) — 41%.
Во всех категориях самым популярным оказался Питон. Вторую и третью строчки заняли SQL и R соответственно.

Это исследование еще раз подтверждает, что сегодня аналитики должны уметь кодить на Python. И не просто кодить, а полезно применять знания в работе: формулировать запросы к базе и интерпретировать ответы, понимать принципы обмена данных между хранилищами и т.п.

Если хотите построить карьеру успешного аналитика, задумайтесь о начале изучения Python (если не сделали это ранее). Сегодня есть много курсов (в том числе бесплатных), по которым вы освоите этот язык программирования в течение нескольких месяцев.
Как начать кодить на Питоне
Теперь вы знаете, что оптимальный вариант для аналитика — Python. Надеемся, что уже задумались о его изучении. Но с чего начать?
Подготовка

Для начала подготовьте рабочую область. Если вы никогда не работали с этим языком программирования, установите на компьютер дистрибутив Anaconda. Да, можно поставить и чистый Питон, но Anaconda лучше, так как сразу включает в себя много больших пакетов для анализа данных.

Затем определитесь со средой разработки. Опытные аналитики обычно используют Jupyter Notebook, который устанавливается вместе с Anaconda. Чтобы быстрее разобраться с этой средой разработки, советуем ознакомиться с подробным уроком.

Python проще освоить, если в школе или где-то в другом месте вы работали с базовыми языками программирования — Паскалем или Бейсиком. В противном случае пройдите начальное обучение по Питону. Как правило, такие курсы предлагаются бесплатно и в большом количестве.
Изучение

Распространенная проблема начинающих аналитиков — быстрая потеря энтузиазма к изучению Python. Начинают изучать синтаксис и рассматривют простые примеры, это быстро надоедает и постепенно обучение сходит на нет.

Чтобы избежать «выгорания», откажитесь от примеров из учебников или курсов. Сразу применяйте полученные знания на практике — автоматизируйте рутинные задачи. Так вы быстро почувствуете пользу от Питона в реальной жизни и не потеряете интерес к изучению.

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

Далее загрузите Pandas — популярную библиотеку для аналитиков. Она поможет быстро очищать, трансформировать, агрегировать, объединять и манипулировать табличными данными. Практика показывает, что Pandas подходит для решения большинства задач специалиста data science.

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

Получив первые знания и автоматизировав несколько простых действий, приступайте к более сложным задачам. Например, выгрузка данных из Яндекс.Метрики в Excel через API.

А чтобы вам было проще, предлагаем воспользоваться готовым сниппетом для получения данных из Яндекс.Метрики в Python. Этот код можно выполнить в Jupyter Notebook.

Продолжайте двигаться по нарастающей. Подумайте, какие еще задачи можно автоматизировать? Или займитесь усложнением текущего скрипта. Например, сделайте несколько различных запросов и выгрузите данные на несколько вкладок в одном Excel-файле. Вариантов много, все ограничивается вашим желанием и воображением.

Если что-то не получается, обращайтесь к более опытным коллегам: в чатах Телеграм, на форумах, в блогах и т.п. Поверьте, никто не откажет в помощи новичку, а вы сэкономите массу времени на выявлении проблемы и поиске информации в интернете.

Большинство современных обучающих программ для аналитиков включают в себя базовое ознакомление Python. Но преподаватели дают лишь основу, которую в дальнейшем вы должны развивать самостоятельно.

Не отговаривайте себя от дополнительного обучения аргументами типа «много работы, сейчас нет времени». Потратьте 2 часа на работу с Питоном сегодня и завтра он освободит для вас 10 часов!
Ещё больше о Python вы узнаете на нашем годовом курсе «Профессия: Аналитик». Присоединяйся!
Получите консультацию по курсу «Профессия Аналитик»
Расскажем детали курса, а также забронируем для вас текущую цену курса