УПРАЖНЕНИЯ
15.6. Два кубика D8:
создайте модель, которая показывает, что происходит при 1000-крат-
ном бросании двух восьмигранных кубиков. Попробуйте заранее представить, как будет
выглядеть визуализация, перед моделированием; проверьте правильность своих интуитив-
ных представлений. Постепенно наращивайте количество бросков, пока не начнете заме-
чать ограничения, связанные с ресурсами вашей системы.
15.7. Три кубика:
при броске трех кубиков D6 наименьший возможный результат равен
3, а наибольший — 18. Создайте визуализацию, которая показывает, что происходит при
броске трех кубиков D6.
346
Глава 15 • Генерирование данных
15.8. Умножение:
при броске двух кубиков результат обычно определяется суммировани-
ем двух чисел. Создайте визуализацию, которая показывает, что происходит при умноже-
нии этих чисел.
15.9. Генераторы:
для наглядности в списках этого раздела используется длинная форма
цикла
for
. Если вы уверенно работаете с генераторами списков, попробуйте написать гене-
ратор для одного или обоих циклов в каждой из этих программ.
15.10. Эксперименты с библиотеками:
попробуйте использовать Matplotlib для создания
визуализации бросков кубиков, а Plotly — для создания визуализации случайного блужда-
ния. (Для выполнения этого упражнения вам придется обратиться к документациям обеих
библиотек.)
Итоги
В этой главе вы научились генерировать наборы данных и строить визуализа-
ции этих данных. Вы научились строить простые диаграммы с использованием
Мatplotlib и применять точечные диаграммы для анализа случайных блужданий.
Вы узнали, как построить гистограмму с использованием Plotly и как исследовать
результаты бросков кубиков с разным количеством граней при помощи гистограм-
мы.
Генерирование собственных наборов данных в программах — интересный и мощ-
ный способ моделирования и анализа различных реальных ситуаций. В дальней-
ших проектах визуализации данных обращайте особое внимание на ситуации,
которые могут быть смоделированы на программном уровне. Присмотритесь
к визуализациям, встречающимся в выпусках новостей, — возможно, они были
сгенерированы методами, сходными с теми, о которых вы узнали в этих проектах?
В главе 16 мы загрузим данные из сетевого источника и продолжим использовать
Мatplotlib и Plotly для анализа данных.
16
Загрузка данных
В этой главе мы загрузим наборы данных из сетевого источника и создадим ра-
ботоспособные визуализации этих данных. В интернете можно найти невероятно
разнообразную информацию, большая часть которой еще не подвергалась осно-
вательному анализу. Умение анализировать данные позволит вам выявить связи
и закономерности, не найденные никем другим.
В этой главе рассматривается работа с данными в двух популярных форматах,
CSV и JSON. Модуль Python
csv
будет применен для обработки погодных данных
в формате CSV (с разделением запятыми) и анализа динамики высоких и низких
температур в двух разных местах. Затем библиотека Matplotlib будет использована
для построения на базе загруженных данных диаграммы колебания температур
в двух разных местах: в Ситке (Аляска) и в Долине Смерти (Калифорния). Позд-
нее в этой главе модуль
json
будет использован для обращения к данным числен-
ности населения, хранимым в формате JSON, а при помощи модуля Plotly будет
построена карта с данными местоположения и магнитуд недавних землетрясений.
К концу этой главы вы будете готовы к работе с разными типами и форматами
наборов данных и начнете лучше понимать принципы построения сложных визу-
ализаций. Возможность загрузки и визуализации сетевых данных разных типов
и форматов крайне важна для работы с разнообразными массивами данных в ре-
альном мире.
Формат CSV
Один из простейших вариантов хранения — запись данных в текстовый файл как
серий значений, разделенных запятыми; такой формат хранения получил назва-
ние
CSV
(от Comma Separated Values, то есть «значения, разделенные запятыми»).
Например, одна строка погодных данных в формате CSV может выглядеть так:
"USW00025333","SITKA AIRPORT, AK US","2018-01-01","0.45",,"48","38"
Это погодные данные за 1 января 2018 г. в Ситке (Аляска). В данных указаны
максимальная и минимальная температура, а также ряд других показателей за
этот день. У человека могут возникнуть проблемы с чтением данных CSV, но этот
348
Достарыңызбен бөлісу: |