Comments 22
Количество просмотров статьи в оригинале: 2M+
Data Scientist, MSc Analytics & MBA student
Далее, скопировано с его сайта.
I'm currently pursuing a Master of Science in Analytics at Georgia Institute of Technology in hopes to broaden my arsenal of analytical skills as a data scientist so that I can tackle larger and more complex problems. I've also obtained my Bachelor of Commerce from Queen's University. Learning about finance, marketing, and economics allowed me to develop an understanding of how the world works.
In my spare time, I like to learn — I've completed several data science projects and I'm completing a Deep Learning specialization. I also enjoy all kinds of physical activities, especially team sports. I have an interest in social psychology and personality traits. I enjoy all kinds of EDM music and have created several EDM mixes on YouTube! And lastly, as a Christian, I'm constantly on a spiritual journey.
- Есть огромное количество готовых хорошо оптимизированных библиотек и легко создавать биндинги для новых.
- Уже очень много чего написано на Python, а значит проще и дешевле тоже писать на Python.
- Есть REPL и интерактивные тетрадки Jupyter, которые облегчают первичный анализ данных (главное, сильно ими не увлекаться).
- Язык очень простой.
Ну и в целом не только Python на самом деле.
Хотелось бы где-то почитать грамотный анализ того, где Питон превосходит прочие языки (ну кроме простоты), а главное, почему.
Не уверен, что о каком-либо широко используемом языке общего назначения можно утверждать, что он превосходит прочие языки. Это слишком общее утверждение.
ИМХО. Утверждение о простоте Python верно только для уровня базового синтаксиса (да и это спорный вопрос). Переход от скриптов к многокомпонентным программам и многопоточности сводит на нет показную простоту базового синтаксиса, и язык по сложности становится эквивалентен другим интерпретируемым языкам высокого уровня. Скажем, для меня Python не выглядит сильно проще того же Perl, а PHP выглядит проще, чем Python. Также, думаю, Python в общем будет всё же попроще, чем, скажем, Rust, Java, Scala, C++. В целом, сила Python заключается именно в богатстве его библиотек — в прошлом маркетинговое преимущество Perl. В частности, есть крутейшие математические библиотеки, в том числе для символьной математики. Хочется работать с машинным обучением — есть библиотеки на все случаи жизни (по крайней мере, так говорят, я сам пока туда не лез). Нередко библиотеки под капотом реализованы на быстрых компилируемых языках, что тоже плюс. Можно быстро писать GUI, Web и консольные утилиты (в последнем случае Python стремится к замене Perl у системных администраторов). Как бы там ни было, если хочется выделить самую главную причину изучить Python — это, несомненно, библиотеки.
Если вы уверены в том, что делаете, то, конечно, пишите на любом языке. Если знания не полные и есть сомнения, то с другим языком вы застрянете.
Тяжело будет нагуглить примеры кода, взять пару библиотек для экспериментов, получить ответ на стаковерфлоу. Частичное исключение, разве что, R.
Частичное исключение, разве что, R.R очень специфичен как язык — скорее похож на подборку разного инструментария с отличающимся синтаксисом, чем на целостный язык. Его любят специалисты по статистике, но программировать на нем для программистов — это боль. К тому же, в отличие от Python, R очень ограничен в плане интеграции с другими системами.
Возможно, это особенность немецкого подхода или предметной области, но у нас на учёбе почему-то в ходу больше R для всех сколько-нибудь связанных со статистикой дисциплин (Foundation in Statistics, Advanced Biometrical Methods, Methodology for clinical trials).
"Новая теория начинает господствовать когда вымирают сторонники старой." Подождите, и через пяток лет R перестанут использовать.
В этом году R ворвался в ТОП 10 языков программирования.
Я погружаю одного бухгалтера в область работы с данными и могу смело выделить несколько доводов "за" питон с точки зрения "с нуля"
1) Есть шустрая библиотека Pandas, которая является чем то средним между SQL и Excel. У Pandas порог вхождения выше, чем у SQL, но всё ещё на приемлимом уровне для овладевания из не-IT профессий.
2) Есть Jupyter как среда разработки. Установка не требует прав администратора, а редактор кода позволяет очень интуитивно разделять код на блоки с моментальным выводом результатов, добавляя визуальности этому виду программирования. Это ещё больше снижает порог входа.
3) Питон — это интерпретируемый язык программирования, в нем можно программировать "на лету", не теряя данных из памяти. Это ускоряет проведение экспериментов по подтверждению гипотез с данными, начиная от проверки качества на входе, и заканчивая бизнес выводами.
4) Широта документирования и вопрос-ответов от коммьюнити, позволяет с высокой степенью результативности отправить джуна гуглить готовый ответ.
Пока не слышал ни об одном другом инструменте, обладающим сразу всеми этими параметрами. Либо компактное коммьюнити, либо высокий порог входа останавливают от выбора других вариантов.
А на питоне можно запарсить, написать бот, сделать игрушку, автоматизировать действия, написать код для микроконтроллеров ну и т.д. Т.е он универсальный и дает запас на корректировку рода проф. деятельности.
Основной аргумент — простота входа и работы. Динамическая типизация, мощные инструменты из коробки — если отложить неочевидный bash, это самый первый инструмент базовой обработки данных и скриптов автоматизации исторически. Аналитики пользовались питоном «еще когда это не было модным», программисты тоже используют его — даже если не основной язык, а как скриптовой или для автоматизации.
Поэтому когда тема начала взлетать — это оказался самый распространенный инструмент с нужными плюшками.
Мне кажется хорошая аналогия с js — язык со своими плюсами и минусами, но он пришелся на рост интернета и браузеров, где был ультимативным решением, и вырос с ними. А по мере роста пришли люди, которые по возможности начали его развивать и разрешать проблемы с ним, что улучшило язык.
На самом деле можно найти языки и попроще Питона, и побыстрее, и REPL есть у многих, и тетрадки Jupyter поддерживают кучу языков. И по статистическим библиотекам R может с питоном конкурировать.
Реальная причина одна — это мэйнстрим, на нем все пишут.
Это как естественные языки — лучше всего выучить английский, если нет очень веских причин учить что-либо другое.
Хотите стать «учёным по данным»? Тогда не начинайте с машинного обучения