Предисловие....11
Второе издание....15
Принятые в книге обозначения....16
Использование примеров кода....17
Благодарности....18
Введение....19
Для кого эта книга?....20
Почему именно Python и JavaScript?....23
Чему вы научитесь....26
Предварительные сведения....27
Тулчейн для визуализации данных....28
Как пользоваться этой книгой....31
Немного контекста....32
Резюме....34
Рекомендуемые книги....35
Раздел I. Базовый пакет инструментов....36
Глава 1. Подготовка окружения....37
Сопутствующий код....37
Python....37
Установка дополнительных библиотек....38
JavaScript....40
Базы данных....42
Интегрированная среда разработки....44
Резюме....45
Глава 2. Обучающий мостик между Python и JavaScript....46
Сходство и различия....46
Взаимодействие с кодом....47
Строим мост....50
Примеры различий....78
Шпаргалка....91
Резюме....93
Глава 3. Чтение и запись данных с помощью Python....95
Просто ли это?....95
Передача данных....96
Работа с системными файлами....97
CSV, TSV и табличные форматы данных....98
JSON....101
SQL....106
MongoDB....117
Работа с датами, временем и сложными типами данных....123
Резюме....124
Глава 4. Основы веб-разработки....126
Общая картина....126
Одностраничные приложения....127
Настройка инструментов....127
Создание веб-страницы....131
Chrome DevTools....141
Базовая страница с плейсхолдерами....143
Позиционирование и изменение размера контейнеров с помощью Flex....147
Масштабируемая векторная графика....156
Резюме....170
Раздел II. Получение данных....172
Глава 5. Получение данных из интернета с помощью Python....174
Получение данных из интернета с помощью библиотеки Requests....174
Получение файлов данных с помощью Requests....175
Использование Python для получения данных через web API....178
Доступ к web API с помощью библиотек....184
Скрейпинг данных....190
Получение объекта Beaut ifulSoup....192
Выбор тегов....193
Резюме....203
Глава 6. Эффективный скрейпинг с помощью Scrapy....204
Установка Scrapy....205
Постановка целей....206
Работа с XPath в Scrapy....208
Первый паук Scrapy....215
Скрейпинг биографических страниц лауреатов....222
Цепочка запросов и извлечение данных....225
Конвейеры Scrapy....230
Скрейпинг текста и изображений с помощью конвейера....232
Резюме....240
Раздел III. Очистка и исследование данных с помощью Pandas....242
Глава 7. Введение в NumPy....244
Массив NumPy....245
Создание функций для работы с массивами....252
Резюме....254
Глава 8. Знакомство с библиотекой pandas....255
Почему pandas оптимальна для визуализации данных....255
Зачем разработали pandas....255
Классификация данных и измерения....256
DataFrame....257
Создание и сохранение структур DataFrame....262
Создание DataFrame из Series....273
Резюме....276
Глава 9. Очистка данных с помощью pandas....277
Чистая правда о грязных данных....277
Проверка качества данных....279
Индексы и отбор данных с помощью pandas....283
Очистка данных....287
Полная функция для очистки данных....307
Добавление столбца born_in....308
Сохранение очищенных наборов данных....313
Резюме....314
Глава 10. Визуализация данных с помощью Matplotlib....315
Pyplot и объектно-ориентированная библиотека Matplotlib....315
Запуск интерактивной сессии....316
Создание интерактивных графиков с помощью глобального состояния pyplot....317
Фигуры и объектно-ориентированная Matplotlib....323
Типы графиков....328
Seaborn....337
Резюме....346
Глава 11. Анализ данных с помощью pandas....348
Начало исследования....349
Построение графиков с помощью pandas....351
Гендерные диспропорции....353
Национальные тренды....361
Возраст и ожидаемая продолжительность жизни лауреатов....374
Нобелевская диаспора....381
Резюме....383
Раздел IV. Передача данных....384
Глава 12. Передача данных....386
Передача данных....387
Доставка файлов данных....392
Динамическое обновление данных с помощью Flask API....397
Использование динамической или статической доставки....399
Резюме....400
Глава 13. RESTful Data с помощью Flask....401
Инструменты для работы с RESTful....401
Создание базы данных....402
Flask RESTful для работы с данными....403
Добавление маршрутов RESTful API....406
Расширение API с помощью MethodView....412
Пагинация возвращаемых данных....415
Удаленное развертывание API на Heroku....419
Резюме....423
Раздел V. Визуализация данных с помощью D3 и Plotly....424
Глава 14. Перенос диаграмм в интернет с помощью Matplotlib и Plotly....426
Создание статических диаграмм с помощью Matplotlib....426
Построение диаграмм с помощью Plotly....431
Из Notebook в веб-формат с помощью Plotly....445
Создание нативных JavaScript-диаграмм с помощью Plotly....449
Интерактивная визуализация Plotly с помощью JavaScript и HTML....455
Резюме....460
Глава 15. Разработка концепции визуализации Нобелевской премии....461
Для кого эта визуализация?....461
Выбор визуальных элементов....462
Строка меню....463
Распределение премии по годам....464
Карта, показывающая выборку стран нобелевских лауреатов....465
Столбчатая диаграмма, показывающая количество лауреатов по странам....466
Список выбранных лауреатов....467
Визуализация целиком....469
Резюме....470
Глава 16. Создание визуализации....471
Предварительные сведения....472
HTML-каркас....474
Стили CSS....478
Движок JavaScript....482
Запуск приложения для визуализации данных о нобелевских лауреатах....497
Резюме....498
Глава 17. Введение в D3 на примере столбчатой диаграммы....499
Формулирование задачи....500
Работа с выборкой....500
Добавление элементов DOM....504
Использование D3....511
Шкалы в D3: от данных к их визуальному представлению....511
Привязка данных к элементам DOM главное преимущество D3....517
Обновление DOM при изменении данных....517
Сборка столбчатой диаграммы....521
Оси и метки....524
Переходы....530
Резюме....535
Глава 18. Визуализация отдельных премий....536
Создание структуры....536
Шкалы....537
Оси....538
Метки номинаций....539
Вложенные данные....541
Добавление лауреатов с помощью вложенных объединений данных....544
Добавим немного блеска!....548
Резюме....550
Глава 19. Картографирование с помощью D3....551
Доступные карты....551
Форматы данных для картографирования в D3....552
Библиотека D3-geo, проекции и пути....557
Соединение элементов воедино....563
Обновление карты....566
Добавление индикаторов показателей....570
Готовая карта....573
Создание простой всплывающей подсказки....574
Резюме....579
Глава 20. Визуализация данных отдельных лауреатов....580
Создание списка лауреатов....581
Создание биографического блока....585
Резюме....588
Глава 21. Строка меню....590
Создание HTML-элементов с помощью D3....591
Создание строки меню....591
Резюме....602
Глава 22. Заключение....603
Подведение итогов....603
Дальнейшее развитие....606
Заключительные замечания....608
Приложение А. Паттерн enterexit библиотеки D3....609
Метод enter....610
Доступ к привязанным данным....614
Об авторе....617
Послесловие....618
Алфавитный указатель....619
Практическое руководство по визуализации данных с помощью Python и JavaScript. Автор показывает полный цикл работы — от сбора и обработки данных до их представления в браузере.
Книга адресована разработчикам, аналитикам и специалистам по данным, желающим освоить инструменты и подходы, которые позволяют превращать цифры в наглядные и интерактивные визуализации.