В отзывах на курс “Программирование глубоких нейронных сетей на Python” некоторые пишут, что курс хороший, но они не знают Python. На самом деле Python очень простой язык, его вполне можно выучить самостоятельно. Кроме того, сейчас Python становится наиболее популярным языком для анализа данных. Поэтому очень желательно его выучить, если вы хотите анализировать данные.

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

  1. Сайт pythontutor.ru. Отличный ресурс для начинающих изучать Python и программирование в целом. Я использую этот сайт для занятий со школьниками. На сайте есть уроки по базовым темам: ввод-вывод, операторы (if, for, while), функции и структуры данных (списки, множества, словари). Все материалы на русском языке.

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

    Визуализатор на pythontutor.ru

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

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

  2. Мобильное приложение SoloLearn “Учим Python”. Компания SoloLearn делает интересные учебные курсы по разным языкам и технологиям программирования, в том числе и по Python. В отличие от pythontutor.ru, курсы SoloLearn можно изучать через удобное мобильное приложение.

    Мобильное приложение SoloLearn для изучения Python

    Тем гораздо больше, чем в pythontutor.ru: есть файлы, исключения, объектно-ориентированное и функциональное программирование. Занятия разбиты на небольшие темы, по каждой теме есть теоретический материал (как правило, помещается на один экран) и практическое задание. Есть интерпретатор, который позволяет запустить код Python прямо на смартфоне. Интерпретатор не очень удобный, но для коротких учебных задачек вполне подходит.

    Интерпрететор Python в мобильном приложении SoloLearn

    Важное достоинство - курс по Python есть на русском языке.

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

    Кроме мобильного приложения есть и Web-версия курса.

  3. Курс Udacity “Anaconda and Jupyter Notebooks. Короткий курс по инструментам Python, очень полезным для анализа данных.

    Anaconda - дистрибутив Python с большим количеством пакетов для анализа данных. В курсе рассматривается, как работать с этим дистрибутивом, как использовать менеджер пакетов conda (именно этим менеджером пакетов удобно устанавливать Theano и Keras для выполнения практик по курсу “Программирование глубоких нейронных сетей на Python”), как применять окружения (environment) для установки различного набора пакетов, необходимых в разных проектов, без конфликтов.

    Jupyter Notebook - это Web-приложение, которое позволяет писать код на Python и других языках в браузере. При этом результаты работы программы, в том числе и визуализация, показываются также в браузере. Очень удобно для интерактивного анализа данных.

    В программу можно делать вставки на Markdown, в которых объясняется, что происходит. Из-за этого файлы становятся более понятными. Особенно приятно, что можно писать математические формулы, используя нотацию TeX.

    Ориентировочное время изучения курса 2-3 часа (включая выполнение практических заданий).

    Язык курса английский.

  4. Курс Udacity “Intro to Data Analysis. Это вводный курс, на котором рассматриваются различные стадии анализа данных и их назначение. В качестве инструмента используется Python. Кроме чистого Python, рассматривается применение библиотеки эффективных вычислений NumPy и библиотеки анализа данных Pandas. Обе эти библиотеки часто используются в практической работе при анализе данных.

    Этот курс сложнее предыдущих, но и значительно интереснее. Вместо учебных задач вы будете анализировать реальные данные об учебе студентов Udacity (время работы на сайте, успешная и неуспешная сдача проектов и т.п.). Будут даны примеры и заготовки программ на Python, которые нужно будет изменить, чтобы решить задачу, поставленную в курсе. Работать можно в Jupyter Notebook или в редакторе Python на сайте Udacity. Выполнение заданий проверяется автоматически.

    Курс Udacity Intro to Data Analysis

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

    Курс, как и предыдущий от Udacity, только на английском языке.

    Время выполнения сильно зависит от того, какие у вас базовые навыки Python и программирования в целом. Он нескольких дней до месяца.

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