d.hodikin 25 октября 2021

📊 ТОП-10 инструментов для Data Science

Хотите сделать свою работу в области науки о данных продуктивнее? Подбирайте удобные и эффективные инструменты. Рассмотрим десять лучших, получивших наибольшее распространение среди специалистов по Data Science во всем мире.
📊 ТОП-10 инструментов для Data Science

1. Jupyter Notebook

Краткий обзор

Интерфейс Jupyter Notebook
Интерфейс Jupyter Notebook

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

Jupyter Notebook – это программное обеспечение с открытым исходным кодом и веб-интерфейсом, доступном пользователю как на локальном компьютере через браузер, так и на удаленном сервере.

Ссылка на исходный код проекта на GitHub.

Установка

Инструкции по установке продукта можно прочитать по ссылке.

Альтернативным способом является установка в составе дистрибутива языков программирования Anaconda, содержащим языки программирования R и Python (по умолчанию), а также несколько прикладных рабочих инструментов для Data Scientist'a: собственно Jupyter Notebook, Jupyter Lab, Spyder и других.

Пример установки дистрибутива доступен по ссылке.

Помимо указанных инструментов дистрибутив содержит обязательные пакеты для работы с данными: Scipy, numpy, pandas.

Состав дистрибутива Anaconda
Состав дистрибутива Anaconda

Запуск и создание файлов

Запуск Jupyter Notebook в терминале:

        jupyter notebook
    

После запуска Jupyter Notebook перед пользователем в браузере автоматически открывается встроенный проводник, необходимый для создания рабочего файла в формате .ipynb, который в профессиональной среде называют «ноутбукам» или «тетрадками».

Файловый менеджер Jupyter Notebook
Файловый менеджер Jupyter Notebook

Создание файла доступно в меню файлового менеджера в правом верхнем углу: New -> python3.

После создания файла, в новой вкладке браузера становится доступно основное окно инструмента. Оно содержит элементы меню управления файлами и ячейками, а также ячейки для работы с кодом и текстом под меню.

Основная рабочая зона

Доступно два основных формата работы внутри ячеек: разметка текста и код.

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

  • Ruby;
  • Perl;
  • R;
  • bash.

Доступно два режима работы с ячейками:

  • редактирование содержимого, в котором осуществляются операции внутри ячейки;
  • командный режим, в котором операции осуществляются над самой ячейкой.

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

Режим редактирование содержимого Jupyter Notebook
Режим редактирование содержимого Jupyter Notebook

Второй режим активируется кликом левой кнопкой мыши слева от ячейки. В таком режиме ячейку можно перемещать выше/ниже других, изменять формат работы с ячейкой, добавлять новые ячейки и удалять существующие, объединять их и т.п. В командном режиме цветовой индикатор слева от ячейки – синего цвета.

Командный режим Jupyter Notebook
Командный режим Jupyter Notebook

Для запуска команды bash, перед кодом в ячейке необходимо добавить восклицательный знак:

        !echo Run Bash Command
    

В подавляющем большинстве случаев работа с ячейками Jupyter Notebook осуществляется с помощью сочетания горячих клавиш клавиатуры (латинская раскладка) в командном режиме:

  • a (above) – вставить ячейку выше выделенной;
  • b (below) – вставить ячейку ниже выделенной;
  • x – удалить ячейку;
  • m – перевести ячейку в формат разметки текста – Markdown;
  • y – перевести ячейку в формат работы с кодом;
  • shift+enter – запустить ячейку и выделить следующую за ней.

Кроме перечисленных комбинаций, в основном меню инструмента доступны все возможные сочетания клавиш, которые помогают ускорить исследовательскую работу: help -> keyboard shortcuts.

Особенности
Jupyter Notebook содержит малое количество элементов управления, панелей инструментов и т.п., поэтому может пригодиться на начальных этапах освоения науки о данных, а также в небольших индивидуальных работах.

2. Jupyter Lab

Краткий обзор

Jupyter Lab – это интерфейс нового поколения для Jupyter Notebook. Основные отличия от предыдущего инструмента заметны именно при визуальном сравнении. Слева появляется панель, которая содержит четыре вкладки:

  • Файловый менеджер.
  • Запущенные терминалы и ядра.
  • Содержание.
  • Менеджер расширений.
Интерфейс Jupyter Lab
Интерфейс Jupyter Lab

Отдельного окна файлового менеджера у Jupyter Lab нет, он встроен в левую панель. Запущенные терминалы и ядра позволяют видеть перечень открытых вкладок и управлять ими.

 Элемент меню Jupyter Lab «Запущенные терминалы и ядра»
Элемент меню Jupyter Lab «Запущенные терминалы и ядра»

С точки зрения функциональности, именно наличие менеджера расширений делает Jupyter Lab модульным и масштабируемым инструментом, настроенным на актуальные задачи по Data Science.

 Элемент меню Jupyter Lab «Менеджер расширений»
Элемент меню Jupyter Lab «Менеджер расширений»

Во вкладке Settings основного меню Jupyter Lab есть возможность выбирать цветовые темы оформления.

Меню выбора тем Jupyter Lab
Меню выбора тем Jupyter Lab
В сентябре 2021 года была анонсирована настольная версия – JupyterLab App, созданная с использованием HTML, CSS и JavaScript на фреймворке Electron.

Ссылка на GitHub проекта.

Установка

Для начала, необходима установка системы управления средой Conda, которую можно осуществить из репозитория Miniforge на GitHub.

Ссылка на GitHub проекта.

Далее, установка Jupyter Lab осуществляется командой в терминале:

        conda install -c conda-forge jupyterlab
    

Возможна установка в составе дистрибутива языков программирования Anaconda, как было описано выше.

Запуск и создание файлов

Запуск Jupyter Lab в терминале:

        jupyter-lab
    

Для создания нового файла необходимо кликнуть левой кнопкой мыши на кнопку New Launcher (+) под главным меню.

Меню создания нового файла Jupyter Lab
Меню создания нового файла Jupyter Lab

После этого откроется новая вкладка с перечнем возможных типов файлов:

📊 ТОП-10 инструментов для Data Science

После создания файлов все они отображаются в проводнике во вкладке слева:

📊 ТОП-10 инструментов для Data Science

Помимо самих ноутбуков в формате .ipynb Jupyter Lab поддерживает ряд других форматов:

  • .csv, что позволяет изучать наборы данных;
  • .jpg/gif/png, что позволяет просматривать изображения в проектах компьютерного зрения;
  • .pdf, что дает возможность изучать документацию;
  • .md, что помогает в описании и документировании проекта.

Основная рабочая зона

В отличие от Jupyter Notebook, перетаскивание ячеек в Jupyter Lab можно осуществлять в графическом режиме, удерживая левую кнопку мыши.

Перетаскивание ячеек в графическом режиме Jupyter Lab
Перетаскивание ячеек в графическом режиме Jupyter Lab

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

Сворачивание ячеек в графическом режиме Jupyter Lab
Сворачивание ячеек в графическом режиме Jupyter Lab

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

Параллельный просмотр ноутбуков в интерфейсе Jupyter Lab
Параллельный просмотр ноутбуков в интерфейсе Jupyter Lab

Для этого требуется кликнуть правой кнопкой мыши по заголовку вкладки и выбрать: New View for Notebook. В остальном механика взаимодействия с основной рабочей зоной первых двух инструментов схожа.

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

3. Расширения Jupyter Lab

JupyterLab TensorBoard

Интерфейс TensorBoard
Интерфейс TensorBoard
TensorBoard – это набор веб-приложений для визуализации графиков метрик качества моделей во время их обучения в TensorFlow.

Ссылка на GitHub проекта.

Установка осуществляется через менеджер расширений левой панели:

📊 ТОП-10 инструментов для Data Science

JupyterLab Git

Интерфейс JupyterLab Git. Материал сайта Neptune.ai
Интерфейс JupyterLab Git. Материал сайта Neptune.ai
После установки расширения на левой панели становится доступна вкладка Git. Это позволяет контролировать версии файлов в рамках исследовательского проекта.

Ссылка на GitHub проекта.

JupyterLab variableInspector

Интерфейс JupyterLab variableInspector
Интерфейс JupyterLab variableInspector
Расширение JupyterLab, которое показывает используемые в настоящее время переменные и их значения.

Ссылка на GitHub проекта.

JupyterLab plotly

Интерфейс JupyterLab plotly
Интерфейс JupyterLab plotly
Plotly – это расширение JupyterLab для визуализации диаграмм Plotly. Библиотека Python Plotly позволяет создавать интерактивные графики высокого качества.

Ссылка на примеры диаграмм Plotly.

Ссылка на GitHub проекта.

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

4. Azure Data Studio

Краткий обзор

Azure Data Studio имеет схожий подход к работе с кодом и разметкой текста в отдельно взятых изолированных ячейках, как и Jupyter Lab. Инструмент является бесплатным и кросс-платформенным. On-premise решение поддерживается следующими операционными системами: Windows, macOS и Linux.

Разработчики Azure Data Studio, компания Microsoft, позиционируют свой продукт как единое решение для аналитики данных собранных воедино из различных источников.
Интерфейс Azure Data Studio
Интерфейс Azure Data Studio

Левая панель инструмента содержит шесть вкладок:

  • Соединения.
  • Поиск.
  • Ноутбуки.
  • Проводник.
  • Управление версиями.
  • Расширения.

Во вкладке Соединения отражается перечень всех доступных (активных и неактивных) соединений с внешними ресурсами:

📊 ТОП-10 инструментов для Data Science

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

Вкладка Поиск позволяет произвести перебор всех включений искомого текста в разрезе рабочих файлов:

📊 ТОП-10 инструментов для Data Science

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

📊 ТОП-10 инструментов для Data Science

Вкладка Проводник содержит перечень файлов из подключенной к инструменту рабочей папки (директории):

📊 ТОП-10 инструментов для Data Science

Вкладка Управление версиями позволяет реализовать инициализацию Git-репозитория и отправку текущей (зафиксированной) версии ноутбука в удаленный репозиторий на GitHub:

📊 ТОП-10 инструментов для Data Science

Azure Data Studio базируется на Visual Studio Code, что дает дополнительную возможность использовать расширения Visual Studio Code, но не все из них совместимы.

Вкладка «Расширения» Azure Data Studio
Вкладка «Расширения» Azure Data Studio

Ссылка на GitHub проекта.

Установка

Инструкции по установке продукта можно прочитать по ссылке.

Основным способом доставки инструмента до пользователя является бинарная дистрибьюция.

Запуск и создание файлов

Запуск Azure Data Studio в графическом режиме через главное меню:

Menu -> Azure Data Studio

Создание рабочего ноутбука осуществляется через основное меню инструмента:

File -> New Notebook (Alt + N)

Для создания подключения к SQL-серверу:

File -> New Query

Основная рабочая зона

Azure Data Studio позволяет работать параллельно в нескольких вкладках, в каждой из которых запущено свое собственное ядро/задача. Например, в одной вкладке в ячейках выполняются скрипты SQL, в другой – код на Python, в третьей – запрос на подключение к SQL-серверу.

Вкладки Azure Data Studio
Вкладки Azure Data Studio

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

File -> Preferences -> Keyboard Shortcuts

Сочетания горячих клавиш Azure Data Studio
Сочетания горячих клавиш Azure Data Studio

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

Менеджер пакетов Azure Data Studio
Менеджер пакетов Azure Data Studio
Особенности
Применение Azure Data Studio целесообразно в проектах, где требуется сбор воедино набора данных из большого количества различных источников, запросы к которым необходимо писать с применением SQL.

5. Расширение Azure Data Studio

Managed Instance Dashboard

Интерфейс Managed Instance Dashboard
Интерфейс Managed Instance Dashboard

Панель мониторинга предоставляет сведения об экземпляре базы данных SQL Azure, связанные с его производительностью и работоспособностью. Список некоторых из доступных отчетов:

  • Свойства экземпляра.
  • Использование хранилища как для локального хранилища SSD, так и для удаленного хранилища Azure Premium.
  • Использование ЦП/хранилища.
  • Статус реплик базы данных.

Query History

Интерфейс Query History
Интерфейс Query History
Query History – это панель для просмотра прошлых выполненных запросов.

Строка истории запроса содержит четыре части:

  • Значок статуса: ✔️, если запрос выполнен успешно. Если возникли какие-либо ошибки, отображается значок ❌.
  • Текст запроса: это текст запроса, который был выполнен.
  • Информация о подключении: сервер и база данных, к которым был выполнен запрос.
  • Отметка времени: дата и время выполнения запроса.

Redgate SQL Search

Интерфейс Redgate SQL Search
Интерфейс Redgate SQL Search
Redgate SQL Search – это надстройка, которая позволяет быстро искать текстовые вхождения внутри строк SQL-скриптов в базах данных, подключенных к Azure Data Studio.

Machine Learning

Интерфейс настройки расширения Machine Learning. Microsoft.com
Интерфейс настройки расширения Machine Learning. Microsoft.com
Расширение Machine Learning для Azure Data Studio позволяет управлять пакетами, импортировать обученные модели машинного обучения, делать прогнозы и создавать ноутбуки для проведения экспериментов с базами данных SQL.

Schema Visualization

Интерфейс Schema Visualization
Интерфейс Schema Visualization
Расширение Schema Visualization дает визуальное представление о структуре баз SQL, подключенных к Azure Data Studio. Среди функций расширения – экспорт схем в формате .svg.

Для изучения полного перечня воспользуйтесь менеджером расширений в левой панели инструмента.

6. Apache Zeppelin

Краткий обзор

Интерфейс Apache Zeppelin, источник: Habr.ru
Интерфейс Apache Zeppelin, источник: Habr.ru

Apache Zeppelin – ноутбук c web-интерфейсом, доступный пользователю как на локальном компьютере через браузер, так и на удаленном сервере. Ноутбук позволяет управлять данными, строить интерактивную аналитику и совместно работать в проектах, используя SQL, Scala, Python, R и другие языки.

Apache Zeppelin поддерживает многопользовательский режим с LDAP и конфигурируется для работы на YARN-кластере. Следствием работы поверх кластера является возможность распараллеливания вычислений, что также необходимо в работе с большими данными.

Установка

Инструкции по установке продукта можно прочитать по ссылке (англ.)

Установка потребует от пользователя базовых знаний администрирования UNIX-подобных операционных систем.

Запуск и создание файлов

Запуск Apache Zeppelin в терминале (в UNIX-подобной операционной системе):

        bin/zeppelin-daemon.sh start
    

На стартовой странице инструмента:

Notebook -> Create new note

Меню создания нового ноутбука Apache Zeppelin
Меню создания нового ноутбука Apache Zeppelin

Список ранее созданных ноутбуков также отражается на стартовой странице.

Список ноутбуков Apache Zeppelin
Список ноутбуков Apache Zeppelin

Основная рабочая зона

После запуска Apache Zeppelin перед пользователем в браузере открывается ноутбук.

Ноутбук Apache Zeppelin
Ноутбук Apache Zeppelin

Основная особенность ячеек Zeppelin заключается в том, что внутри одного ноутбука можно запускать ячейки на различных вычислительных ядрах и средах, для чего в первой строке ячейки прописывается специальный указатель, например:

  • %sql – для запуска SQL-скрипта;
  • %python – для запуска стандартного интерпретатора Python;
  • %python.ipython – для запуска IPython интерпретатора (рекомендуется);
  • %spark – для запуска Spark-сессии;
  • %sh – для выполнения команд оболочки (Shell);
  • и др.

Например, для вывода на экран текущей рабочей директории в ячейке необходимо выполнить код:

        %sh
pwd
    

Для запуска IPython интерпретатора:

        %python.ipython
print("hello world")
    

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

Визуализация данных встроенными средствами Apache Zeppelin
Визуализация данных встроенными средствами Apache Zeppelin
Особенности
Инструмент используется для работы с большими данными (NoSQL), так как входит в широкую экосистему Apache. Обязательным требованием является знание синтаксиса команд bash.

7. Google Collab

Краткий обзор

Интерфейс Google Collab
Интерфейс Google Collab
Google Colab представляет собой облачный Jupyter Notebook, созданный и поддерживаемый компанией Google.

Ключевое отличие от локального Jupyter Notebook – возможность запуска облачной сессии с графическим / тензорным ускорителем:

Меню -> Среда выполнения -> Сменить среду выполнения

Выбор аппаратного ускорителя Google Collab
Выбор аппаратного ускорителя Google Collab

В качестве GPU сервис предлагает 12GB NVIDIA Tesla K80, которая бесплатна для использования на ограниченное время – 12 часов за один запуск. Из одного аккаунта Google в случае использования GPU/TPU доступна только одна активная версия ноутбука. Платного тарифа для пользователей из России не предусмотрено.

Подробнее о лимитах инструмента можно прочитать по ссылке (англ.)

Левая панель инструмента содержит вкладки:

  • Содержание.
  • Найти и заменить.
  • Фрагменты кода.
  • Файлы.

Во вкладке Фрагменты кода возможен поиск по шаблонам, что может ускорить работу с типовыми операциями, например такими, как подключение Google Drive к ноутбуку:

📊 ТОП-10 инструментов для Data Science

Во вкладке Файлы реализована навигация по файловой системе виртуальной машины, в которой запущен ноутбук, а также присутствует возможность монтирования диска Google Drive для загрузки/сохранения данных:

📊 ТОП-10 инструментов для Data Science

Запуск и создание файлов

Создание ноутбука и запуск сервиса Google Colab осуществляется из сервиса Google Drive:

Ссылка на сервис.

В любой папке диска необходимо выполнить следующее действие:

Создать -> Еще -> Google Colaboratory

Перечень ноутбуков доступен в папке, в которой они были созданы.

Список ноутбуков в папке Google Drive
Список ноутбуков в папке Google Drive

Также возможно создание нестандартных конфигураций ноутбуков.

Ноутбук с 35Gb RAM при использовании TPU, или 25Gb при использовании CPU\GPU доступен по ссылке.

Основная рабочая зона

В основном меню ноутбука, в разделе Инструменты доступна раскладка горячих клавиш для работы с ячейками ноутбука. В Google Colab это сочетание отличается от сочетания в Jupyter Notebook.

Горячие клавиши Google Colab
Горячие клавиши Google Colab

Реализована возможность добавлять ячейки в графическом режиме:

📊 ТОП-10 инструментов для Data Science

Возможность изменения порядка ячеек в графическом режиме (перетаскивание) – отсутствует. Для этого в правом верхнем углу каждой ячейки предусмотрено меню:

📊 ТОП-10 инструментов для Data Science

В остальном, работа в Google Colab схожа с работой в локальном ноутбуке Jupyter.

Особенности
Поскольку Google Colab имеет 12GB памяти в графическом ускорителе, то его целесообразно использовать для ресурсоемких исследований и вычислений, например, для обучения нейронной сети. Инструмент подходит для командной работы.

8. PyCharm Community

Краткий обзор

PyCharm Community – бесплатная среда разработки для языка программирования Python. Интегрированная среда дает возможность анализа кода, его графический отладки, и т.д. PyCharm разработана компанией JetBrains на основе IntelliJ IDEA.
Интерфейс PyCharm Community
Интерфейс PyCharm Community

Левая панель инструмента содержит вкладки:

  • Project.
  • Commit.
  • Pull Requests.

Вкладка Progects содержит структуру каталогов проекта, в т.ч. структуру сторонних библиотек, а также инструменты для работы с ними.

После фиксации изменений в проекте по нажатию пиктограммы в верхнем правом меню

📊 ТОП-10 инструментов для Data Science

открывается вкладка Comit, где требуется ввести сообщение к осуществляемому комиту:

📊 ТОП-10 инструментов для Data Science

Сообщения к комитам целесообразно стандартизировать в формальной логике, например, с применением соглашения Conventional Commits.

Ссылка на соглашение (англ.)

Вкладка <code class="inline-code">Git</code> PyCharm Community
Вкладка Git PyCharm Community

При наличии предложений на изменение кода в репозитории GitHub со стороны участников проекта, все они отображаются во вкладке Pull Requests.

Нижняя панель инструментов слева содержит вкладки:

  • Git.
  • TODO.
  • Problems.
  • Terminal.
  • Python Packages.
  • Python Console.

Наиболее востребованной вкладкой является Terminal, в ней выполняются команды проекта, например:

Вкладка <code class="inline-code">Терминал</code> в PyCharm Community
Вкладка Терминал в PyCharm Community

Команда представляет собой запуск pipeline технологии DVC, о которой можно прочитать на сайте разработчика.

Ссылка на сайт разработчика технологии (англ.)

Установка

Основным способом распространения инструмента является бинарная дистрибьюция.

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

Запуск и создание файлов

Существует два основных способа начала проекта.

  • Создание нового проекта. В основном меню: File -> New Project.
  • Клонирование существующего проекта через систему контроля версий. В основном меню: VCS -> Get from Version Control.

Основная рабочая зона

В проектах Data Science PyCharm позволяет осуществлять рефакторинг кода, полученного в результате завершения исследовательской стадии проекта с применением ноутбуков.

Фрагменты кода оформляются в виде классов или функций на языке программирования Python.

Окно редактора кода PyCharm Community
Окно редактора кода PyCharm Community

Зеленый символ в правом верхнем углу рабочего окна свидетельствует о том, что код написан с соблюдением стандарта написания кода PEP8.

Изучить стандарт можно по ссылке.

При наличии замечаний к коду, знак меняется на следующий (цифра указывает на количество замечаний):

📊 ТОП-10 инструментов для Data Science
Особенности
PyCharm Community целесообразно использовать при переходе от исследовательской стадии проекта в области науки о данных к стадии разработки готового решения, основанного на результатах испытаний. В стадии разработки на первый план выходит навык написания понятного и поддерживаемого кода, отвечающего определенным стандартам программирования.

9. JetBrains DataSpell

Краткий обзор

JetBrains DataSpell – интегрированная среда разработки от JetBrains, адаптированная под потребности специалистов в области науки о данных.
Интерфейс JetBrains DataSpell
Интерфейс JetBrains DataSpell

Левая панель инструмента содержит две основные вкладки:

  • Workspace.
  • Structure (описывает структуру заголовков инструмента).
📊 ТОП-10 инструментов для Data Science

Вкладка Workspace содержит структуру каталогов проекта, а также инструмент для подключения сервера Jupyter Notebook:

📊 ТОП-10 инструментов для Data Science

Доступны подключения к локальному серверу, либо к удаленному по URL.

Правая панель содержит важный инструмент, который называется DataExplorer. Он позволяет подключать различные системы управления базами данных (SQL/NoSQL), вроде Azure SQL Database, Apache Hive и др.

Правая панель JetBrains DataSpell
Правая панель JetBrains DataSpell

Нижняя панель содержит вкладки для работы с Git и консолью, аналогично PyCharm.

Установка

Дистрибутив DataSpell доступен по ссылке.

Запуск и создание файлов

После запуска инструмента из основного меню в диалоговом окне доступен выбор среды. По умолчанию указана Conda.

 Диалоговое окно выбора среды в JetBrains DataSpell
Диалоговое окно выбора среды в JetBrains DataSpell

Основная рабочая зона

Двойное нажатие левой кнопкой мыши на файле ноутбука в левой панели Workspace открывает его непосредственно в основном окне редактора DataSpell.

Окно ноутбука JetBrains DataSpell
Окно ноутбука JetBrains DataSpell

В таком режиме работа с ячейками ноутбука происходит привычным образом – редактирование кода внутри ячейки и операции над самой ячейкой.

В режиме отладки, после установки точки останова (break point), под основной рабочей областью ноутбука появляется таблица с историей исполнения в ячейках, а также выводом всех переменных, которые содержатся в пространстве имен ноутбука.

Debugger JetBrains DataSpell
Debugger JetBrains DataSpell

Двойное нажатие левой кнопкой мыши на файле .csv в левой панели Workspace открывает его непосредственно в основном окне редактора, облегчая визуальное исследование исходных данных.

Просмотр файла .csv в JetBrains DataSpell
Просмотр файла .csv в JetBrains DataSpell
Особенности
DataSpell является инструментом для fullstack-проекта в области Data Science. Это обеспечивается за счет объединения возможностей работы над исследовательской стадией и стадией разработки в одном интерфейсе.

10. GitHub для Data Science

Проекты в области Data Science предполагают работу с ноутбуками в формате .ipynb на исследовательской стадии проекта. Этот формат файлов хотя и поддерживается GitHub (их можно открывать непосредственно из web-интерфейса репозитория), но попытки просмотра содержимого в половине случаев завершаются ошибкой, страницу просмотра приходится обновлять и пробовать открыть файл снова.

Для решения этой проблемы частой практикой является просмотр ноутбука в Google Colab:

📊 ТОП-10 инструментов для Data Science

Пример кода для встраивания ссылки на просмотр ноутбука в файл README.md в корневой директории репозитория:

        [![Open In Colab]
(https://colab.research.google.com/assets/colab-badge.svg)]
(https://colab.research.google.com/github/usernane/repo/blob/master/foldername/notebookname.ipynb)
    

Файлы .ipynb по сути являются структурированным текстом в формате JSON и отслеживать их изменения в процессе версионирования неудобно:

📊 ТОП-10 инструментов для Data Science

Рефакторинг кода и структурирование его в «питоновские» файлы с расширением .py и соблюдением стандарта PEP8 упрощают работу:

📊 ТОП-10 инструментов для Data Science
Хранение файлов с набором данных более 100 Mb в GitHub невозможно. Для решения задачи используется Git LFS. Эта технология обрабатывает большие файлы, сохраняя в репозитории ссылки, но не на сами файлы.

Чтобы обойти архитектуру Git, Git LFS создает файл-указатель, который действует как ссылка на хранящийся в другом месте файл. GitHub управляет этим файлом указателя в репозитории. Когда вы клонируете репозиторий, GitHub использует указатель, чтобы найти сам файл.

Подробнее о работе с большими файлами можно прочитать в документации GitHub (англ.)

Работу с большими файлами также поддерживает технология DVC (Data Version Control).

Ссылка на пример настройки версионирования файла размером более 100 Mb на удаленном хранилище Google Drive.

***

Если вы не увидели в обзоре своих любимых инструментов, не стесняйтесь рекомендовать их в комментариях.

Больше полезной информации вы можете найти на нашем телеграм-канале «Библиотека data scientist’а».

Комментарии

ВАКАНСИИ

Добавить вакансию
Разработчик C++
Москва, по итогам собеседования

ЛУЧШИЕ СТАТЬИ ПО ТЕМЕ