Зачем нужен Python аналитику? Именно с такого вопрос начался недавний разговор с коллегой. В силу накопившихся задач, назрела необходимость сменить инструменты и постараться перевести запросы и модели Excel в другую плоскость. В общем-то, пора начать изучать новый язык программирования, который сможет закрыть потребности. Но какой выбрать из имеющегося многообразия?
В этой статье мы рассмотрим основополагающие принципы применения Python как функционального инструмента. По сути это первоначальное знакомство и необходимость понимания, что за зверек этот Питон. Дочитав до конца, надеюсь сложится четкое понимание в ответе на следующие вопросы:
- Зачем нужен Python аналитику?
- Какой функционал можно реализовать с помощью Python?
- Основные области применения Python?
Программисты и аналитики в своей работе используют десятки, а то и сотни языков программирования. Python уже давно стал одним из самых популярных и важных языков для многих специалистов, поскольку существенно может облегчить работу и жизнь. Поскольку Python стал популярен в таких областях, как искусственный интеллект и машинное обучение, неудивительно, что он становится основным инструментом для любого специалиста по анализу данных.
Как бы я изучал АНАЛИТИКУ ДАННЫХ (если бы начал заново)?
Области применения Python
Python позволяет организациям анализировать и визуализировать данные осмысленными способами для выявления закономерностей, отслеживания взаимосвязей и помощи в решении сложных бизнес-задач.
Специалисты по данным обычно решают сложные проблемы, которые можно решить с помощью четырех основных шагов:
- сбор и очистка данных
- исследование и анализ данных
- моделирование данных
- визуализация данных.
Python предоставляет библиотеки, которые помогают на каждом из этих этапов.
Его можно использовать для прогнозирования результатов, автоматизации задач, оптимизации процессов и предоставления бизнес-аналитики. Кроме того, Python хорошо интегрируется с большинством поставщиков облачных услуг и поддерживает множество вариантов экспорта файлов и обмена ими.
К настоящему времени вы наверняка знаете, что Python невероятно гибок. В контексте обработки данных это означает, что он позволяет с легкостью создавать модели данных, систематизировать наборы данных и создавать алгоритмы на основе машинного обучения.
Что же можно сделать, используя Python?
Несколько примеров применения языка Питон в аналитической работе
Импорт и экспорт данных . Python с легкостью импортирует и экспортирует все возможные данные из множества источников и различных форматов файлов. Он позволяет считывать данные в, таких форматах как CSV, TSV, JSON, XML, HTML, LaTeX, SQL, Microsoft, открытые электронные таблицы и несколько других двоичных форматов.
Импорт онлайн-данных . источником информации могут стать онлайн ресурсы с которых с помощью правильного кода можно подтягивать меняющиеся данные.
Написание чат-бот для обработки входящих запросов . Некоторые компании используют чат-боты в качестве первой точки взаимодействия со своими клиентами.
Как SQL и PYTHON используют в аналитике данных?
Прогноз спроса . С помощью Python можно прогнозировать изменение спроса, подтягивая информацию из внешних источников.
Визуализация данных . Включает гистограммы, круговые диаграммы , тепловые карты и многое другое как показано на рисунке ниже.
Выводы о Python для аналитика данных
Резюмируя эту вводную статью, складывается понимание, что если вы работаете с данными, универсальность Python может помочь вам поддерживать высокую скорость выполнения всех задач, которые вам необходимо выполнить.
Как язык для специалистов по данным, Python также является отличной альтернативой специализированным языкам, таким как R, для машинного обучения. Часто называемый языком данных, он незаменим в обработке данных.
Становиться понятным, что в современном мире необходимо более детальное погружение в изучение данного вопроса. К тому же, знание Python позволит аналитику иметь важный скил в собственном резюме, что не сможет сказаться на зарплате. Но это совсем другая история.
Пишите в комментариях, зачем вы изучали Python и как применяете этот язык в работе.
Источник: budnianalitika.ru
Почему наши аналитики кодят на Python
Отвечаем на вопрос и по пути разбираемся в особенностях языков программирования: зачем появляются новые, как выбрать нужный и для чего вам все это знать, если вы не программист.
ГОВОРИ НА ЯЗЫКЕ СВОЕЙ ЗАДАЧИ
Языки программирования разрабатываются для разных целей. Поэтому они отличаются по степени сложности, мощности, скорости обработки компилятором. Например, один из первых языков общего назначения – язык C – обладает синтаксисом, который легко компилируется процессором в машинный код. Поэтому написанные на нем команды работают быстро.
Его часто используют системные программисты. Однако, для чтения он не так удобен, особенно если у вас большое полотно кода. Все потому, что в операциях на языке C больше используется символов, а не букв и слов. Буквы набирать быстрее и читать проще. Но у людей и компьютеров – разные предпочтения.
Код программы – победителя международного конкурса запутанного кода на языке С 1998 год.
«Языки программирования развивались вместе с технологиями, – объясняет Андрей Плющенко, приглашенный эксперт статьи, руководитель группы анализа данных Eastwind. – Компьютеры распространялись повсюду, увеличивались мощности ПО, а с ними и требования к программам. Вместе с тем как разработка становилась все сложнее, программисты понимали, что им чего-то не хватает: новых библиотек, формул, автоматизации. Так, появление языков с классами: C++, C# и так далее, – ознаменовало рождение концепции объектно-ориентированного программирования (ООП). В языках новой парадигмы стало доступно больше функций, которые делают за программиста рутинные вещи».
Библиотеки или функции в языке программирования – это «вшитые» готовые решения. Другими словами, это уже написанные кусочки кода для ряда операций, которые можно вызвать при необходимости. Большое количество таких шаблонов делает работу на языке удобнее и проще, но сами команды программа будет выполнять медленнее.
Задержка происходит за счет того, что для выполнения действия язык обращается не напрямую к ОС, а через вызов библиотеки. Но если в вашей работе не принципиально: за 5 или 8 секунд отработает та или иная команда – вы можете выбрать язык с более удобным синтаксисом и богатыми возможностями. Фрагмент кода на Python 3.5.1 Все языки программирования постоянно обновляются.
Появляются новые алгоритмы действий, добавляется больше библиотек. Разница в том, что не все языки обновляются одинаково: например, в одном со временем может быть больше примочек для задач web-разработки, в других – для системных решений. При выборе языка важно, как быстро и часто в нем будут появляться обновления, важные в вашей области программирования.
«Любой может написать часть кода и выложить его в Git (распределенная система управления версиями). Оттуда можно скачать или установить напрямую то обновление языка, которое тебе нужно, – рассказывает Андрей Плющенко, Eastwind. – Одно из важных преимуществ Python для нас – для него часто появляются новые библиотеки и процедуры по анализу данных».
- Насколько вам важна скорость выполнения команд? Для аналитика важно быстро обрабатывать данные. Но время обработки датасета, в первую очередь, зависит от технических характеристик, а не от языка программирования. Поэтому для аналитики не обязательно выбирать быстрый язык: он не внесет решающий вклад в выполнение самих операций.
- Насколько вам важно, чтобы у кода был простой и понятный синтаксис (написание)? Если по основному профилю вы – не программист, но в процессе работы с кодом все же приходится сталкиваться, будет оптимально выбрать менее сложный язык.
- Как много в языке есть библиотек для задач вашей отрасли и как часто они обновляются? От этого критерия будет зависеть насколько оперативно вы сможете адаптироваться к новым технологиям и требованиям времени.
КАК И ПОЧЕМУ АНАЛИТИКИ EASTWIND ПЕРЕШЛИ НА PYTHON
Когда аналитический отдел в Eastwind только зарождался, наши первопроходцы пользовались SQL. Вернее, сервисом по аналитике на базе Microsoft SQL: туда можно было загрузить датасет и что-то с ним сделать из списка существующих в программе алгоритмов. Это было не программирование, а сбор из кубиков. Да и кубиков было мало. Поэтому ребята отказались от этого решения из-за узкой функциональности и перешли на язык R.
«Несколько лет назад про R много писали – особенно он был популярен у статистиков, – вспоминает Андрей Плющенко, Eastwind. – Также на нем можно заниматься машинным обучением. Но его синтаксис показался нам не самым удобным и очевидным: похожие вещи делаются совершенно по-разному. В то время я учился в ШАД Яндекса, где нам рекомендовали Python. Решили попробовать».
Оказалось, у языка Python богатые возможности для анализа данных. И, что немаловажно, он обладает понятным и простым синтаксисом. Кроме того, многие конструкции в питоне привычны по другим языкам программирования. Все вместе это сокращает время разработки и позволяет специалистам заниматься своей основной задачей – аналитикой, а не застревать в дебрях программирования.
СПРАВКА
- Автор языка Python – нидерландский программист Гвидо ван Россум. Изначально, это был объектно-ориентированный язык, но со временем он стал поддерживать и парадигму функционального программирования. Впервые автор опубликовал Python в 1991 году.
- Один из самых популярных диструбутивов (набор библиотек) языка Python – Anaconda. Он также включает в себя библиотеки языка R, и часто используется для работы с данными.
- При обновлении языка Python сегодня разработчики придерживаются философии, известной как «Дзен Питона». Ее суть: хороший код – это простой код.
Автор Python Гвидо ван Россум
Благодаря своей простоте Python достаточно быстро набрал популярность. Сегодня его используют для быстрого прототипирования, web-разработки, написания GUI приложений, обработки данных и другого. «Питонистов» – так называют тех, кто кодит на «питоне» – становится все больше. Поэтому больше и обновлений на языке, чаще появляются новые функции и библиотеки. К тому же, Python – самый задокументированный язык в интернете, что облегчает его изучение.
«Мы работаем с big data на большом стеке задач, и у питона для каждого из инструментов есть свои готовые решения, – делится Андрей Плющенко, Eastwind. – Вообще, под любые новые технологии на питоне очень быстро выходят новые библиотеки, которые можно брать, легко подключать и запускать в работу. В этой простоте и заключается удобство питона».
ХОЧЕШЬ ПОПАСТЬ В СЛИЗЕРИН? КАК НАЧАТЬ КОДИТЬ НА ПИТОНЕ
Хотя при выборе названия Python автор решил посвятить его британскому комедийному шоу 1970-х «Летающий цирк Монти Пайтона», сегодня образ змеи крепко закрепился за этим языком. Так как же начать писать на змеином языке? Мы попросили Андрея Плющенко поделиться собственным опытом.
- Сам язык не сложный, поэтому уровень вхождения – практически нулевой. Чтобы начать кодить на питоне – достаточно пройти несколько курсов. Например, на Coursera или в ШАД. Там дадут базовые вещи.
- Питон дает несколько возможностей сделать то или иное действие. Пользуясь только «базой», вы рискуете остаться на одном уровне. Бывает, что этого достаточно, но в целом: это не соответствует философии питон, так как многие вещи ты будешь продолжать писать так, как привык это делать в других языках.
- Чтобы понимать питон (а не просто использовать), нужно проникнуться его идеями. Если вы – не программист, перед изучением непосредственно языка, погрузитесь в понятия объектно-ориентированного и функционального программирования и разберитесь в них в равной мере. Если вы – программист, но писали раньше только в одной из парадигм, изучите и другую. Иначе вы не поймете питон до конца. Читайте статьи, форумы, мнение авторов о новых релизах, рекомендации и так далее. Так вы сможете выработать особое мышление для работы на питоне.
- Дальнейшее использование – зависит от ваших задач и бэкграунда. Если хотите просто кодить для себя, то вперед. Если хотите идти писать код в аналитику – нужно, в первую очередь, разбираться в аналитике. Питон дает много возможностей использования. Нужно лишь выбрать интересующую вас область и погрузиться в ее специфику.
- Если база изучена, а задачи понятны, остается нарабатывать практику. Я рекомендую читать документацию и смотреть, как пишут другие. Для этого можно изучать код разных библиотек, которые находятся в открытом доступе. Смотришь и думаешь: почему решение реализовано так, а не иначе? И понимаешь логику и структуру языка.
«Язык программирования – это лишь средство достижения цели, а не сама цель, – подводит итог Андрей. – Для работы на Python не нужно знать все его библиотеки досконально – их очень много, и все они для разных задач. Например, ребята в группе анализа данных Eastwind хорошо умеют работать с big data на Python, но, скорее всего, не смогут разработать на нем web-сервер или GUI. Мы – специалисты не по использованию отдельно взятого языка программирования, а по решению конкретного круга задач в исследовании данных. И в рамках наших задач мы используем Python эффективно».
Группа анализа данных Eastwind
Источник: spark.ru