Прочитав эту книгу, вы в полной мере освоите фреймворк Dash от Plotly, предоставляющий разработчикам Python блестящие возможности по созданию полноценных интерактивных веб-приложений и дашбордов без знания языка JavaScript.
Вы научитесь создавать различные типы диаграмм; вставлять в приложение разнообразные элементы управления, включая кнопки, выпадающие списки, флажки, календари и т. д. и снабжать приложения динамическими страницами со ссылками. По прочтении книги вы будете обладать необходимыми навыками развертывания полноценных интерактивных приложений и дашбордов, выполнения многоступенчатого рефакторинга кода и оптимизации написанных вами приложений.
Издание адресовано специалистам по работе с данными и аналитикам, желающим больше узнать о своих исходных данных при помощи интерактивных дашбордов.
Author(s): Элиас Даббас
Edition: 1
Publisher: ДМК Пресс
Year: 2022
Language: Russian
Commentary: Publisher's PDF
Pages: 306
City: М.
Tags: Machine Learning; Data Analysis; Python; Web Applications; Data Visualization; Deployment; scikit-learn; Callback Functions; Dashboards; plotly; Dash
Предисловие от издательства
Об авторе
О рецензенте
Введение
Часть I
Построение приложения на Dash
Глава 1
Знакомство с экосистемой Dash
Технические требования
Настройка окружения
Исследование фреймворка Dash и сопутствующих пакетов
Пакеты, содержащиеся во фреймворке Dash
Введение в базовую структуру приложения Dash
Создание и запуск простого приложения Dash
Добавление HTML и других компонентов в приложение
Добавление компонентов HTML в приложение Dash
Проектирование макета и управление темами
Темы
Координатная сетка и чувствительность к изменениям
Встроенные компоненты
Кодировка цветов
Добавление компонентов Dash Bootstrap в приложение
Заключение
Глава 2
Структура приложений Dash
Технические требования
Использование Jupyter Notebook для запуска приложений Dash
Изоляция функционала для упрощения процесса разработки и отладки
Создание чистой функции на Python
Знакомство с параметром ID компонентов Dash
Использование элементов ввода и вывода
Определение ввода и вывода
Шаблон функции обратного вызова
Реализация функции обратного вызова
Внедрение функции в приложение
Свойства функций обратного вызова
Заключение
Глава 3
Работа с объектом Figure
Технические требования
Введение в объект Figure
Знакомство с атрибутом data
Знакомство с атрибутом layout
Интерактивное исследование объекта Figure
Опции настройки для объекта Figure
Способы преобразования графиков
Преобразование графиков в HTML
Работа с настоящим набором данных
Преобразование данных как важная часть процесса визуализации
Придание графику интерактивности за счет обратного вызова
Добавление функционала в приложение
Создание тем для графиков
Заключение
Глава 4
Подготовка и преобразование данных. Введение в Plotly Express
Технические требования
Длинный формат данных (tidy)
Примеры графиков Plotly Express
Основные атрибуты длинного формата данных (tidy)
Роль навыков в области преобразования данных
Исследование исходных файлов
Отмена свертывания датафреймов
Сведение датафреймов
Объединение датафреймов
Знакомство с Plotly Express
Plotly Express и объекты Figure
Создание диаграммы Plotly Express на основе набора данных
Добавление данных и столбцов в набор
Заключение
Часть II
Расширение функционала приложений
Глава 5
Интерактивное сравнение данных при помощи столбчатых диаграмм
и выпадающих списков
Технические требования
Построение вертикальных и горизонтальных столбчатых диаграмм
Создание вертикальных столбчатых диаграмм со множеством значений
Связывание столбчатых диаграмм с выпадающими списками
Разные способы отображения столбчатых диаграмм с несколькими рядами данных
Создание датафрейма с данными о доходах
Внедрение изменений в приложение
Использование ячеистой структуры для вывода множественных диаграмм (фасетирование)
Исследование дополнительных возможностей выпадающих списков (множественный
выбор, заместители текста и т. д.)
Добавление заместителя текста для выпадающего списка
Изменение темы приложения
Изменение размеров компонентов
Заключение
Глава 6
Исследование переменных при помощи точечной диаграммы и фильтрация
наборов данных
Технические требования
Различные способы использования точечных диаграмм: маркеры, линии и текст
Маркеры, линии и текст
Отображение нескольких рядов данных на одной точечной диаграмме
Настройка цветов на точечной диаграмме
Дискретные и непрерывные переменные
Использование цветов с непрерывными переменными
Создание цветовых шкал вручную
Использование цветов с дискретными переменными
Управление наложениями и выбросами при помощи прозрачности, символов и масштаба
Прозрачность и размер маркеров
Использование логарифмических шкал
Знакомство со слайдерами, включая слайдеры диапазонов
Настройка подписей и значений слайдеров
Заключение
Глава 7
Работа с географическими картами и обогащение дашбордов при помощи
языка разметки Markdown
Технические требования
Знакомство с картограммами
Использование анимации для добавления нового слоя в визуализацию
Использование функций обратного вызова с картами
Создание компонента Markdown
Знакомство с проекциями карты
Использование точечных карт
Использование карт Mapbox
Другие опции и инструменты для работы с картами
Внедрение интерактивной карты в приложение
Заключение
Глава 8
Определение частотности данных с помощью гистограмм и построение
интерактивных таблиц
Технические требования
Создание гистограммы
Настройка гистограммы, включая изменение количества столбиков и отображение множественных данных
Использование цвета для детализации гистограммы
Отображение множественных гистограмм
Добавление гистограммам интерактивности
Создание двумерной гистограммы
Создание DataTable
Настройка отображения таблицы данных (ширина и высота ячеек, отображение текста и т. д.)
Добавление гистограмм и таблиц данных в приложение
Заключение
Что мы узнали из первых двух частей книги
Часть III
Развитие приложений. Новый уровень
Глава 9
Машинное обучение: пусть данные говорят сами за себяh
Технические требования
Кластеризация данных
Поиск оптимального количества кластеров
Кластеризация стран по численности населения
Подготовка данных с использованием библиотеки scikit-learn
Заполнение пропущенных значений
Масштабирование данных при помощи scikit-learn
Создание интерактивного приложения с применением кластеризации по методу k-средних
Заключение
Глава 10
Ускорение работы приложений с помощью улучшений функций обратного вызова
Технические требования
Знакомство с элементом State
Различия между элементами Input и State
Создание взаимосвязанных компонентов
Добавление пользователем динамических компонентов в приложение
Введение в шаблонные обратные вызовы
Заключение
Глава 11
Ссылки и многостраничные приложения
Технические требования
Знакомство с компонентами Location и Link
Работа с компонентом Link
Разбор ссылок и использование их составляющих для изменения приложения
Адаптирование приложения под множественные макеты
Отображение содержимого на основе ссылки
Добавление динамически сгенерированных ссылок в приложение
Внедрение в приложение интерактивности на основе ссылок
Заключение
Глава 12
Развертывание приложения
Технические требования
Основы рабочего процесса разработки, развертывания и обновления приложений
Аренда виртуального сервера и настройка аккаунта
Подключение к серверу при помощи Secure Shell (SSH)
Запуск приложения на сервере
Настройка и запуск приложения через WSGI-сервер
Настройка и конфигурирование веб-сервера
Поддержка приложения и его обновление
Исправление ошибок и внесение изменений в приложение
Обновление пакетов Python
Поддержка сервера
Развертывание и масштабирование приложений Dash с помощью Dash Enterprise
Инициализация приложения
Создание приложения (необязательная фаза)
Подготовка папки проекта
Развертывание приложения в Dash Enterprise
Заключение
Глава 13
Следующие шаги
Технические требования
Развитие навыков в области анализа и подготовки данных
Исследование новых техник визуализации
Знакомство с другими компонентами Dash
Создание собственных компонентов Dash
Реализация и визуализация моделей машинного обучения
Повышение эффективности и использование инструментов для работы с большими данными
Масштабирование с Dash Enterprise
Dash Design Kit
App Manager
Snapshot Engine
Повышение производительности с помощью Job Queue
Корпоративная безопасность
Консультационная служба
Заключение
Предметный указатель