жете смоделировать огромное количество бросков с разнообразными кубиками.
15-6 . Автоматические метки: измените программы die .py и dice_visual .py . Замените список,
используемый для задания значений hist .x_labels, циклом, автоматически генерирующим
этот список . Если вы хорошо освоили генераторы списков, также попробуйте заменить
Итоги
335
15-7 . Два кубика D8s: создайте модель, которая показывает, что происходит при 1000-крат-
ном бросании двух восьмигранных кубиков . Постепенно наращивайте количество бросков,
пока не начнете замечать ограничения, связанные с ресурсами вашей системы .
15-8 . Три кубика: при броске 3 кубиков D6 наименьший возможный результат равен 3,
а наибольший — 18 . Создайте визуализацию, которая показывает, что происходит при бро-
ске трех кубиков D6 .
15-9 . Умножение: при броске двух кубиков результат обычно определяется суммированием
двух чисел . Создайте визуализацию, которая показывает, что происходит при умножении
этих чисел .
15-10 . Эксперименты с библиотеками: попробуйте использовать matplotlib для создания ви-
зуализации бросков кубиков, а Pygal — для создания визуализации случайного блуждания .
Итоги
В этой главе вы научились генерировать наборы данных и строить визуализа-
ции этих данных. Вы научились строить простые диаграммы с использованием
matplotlib
и применять точечные диаграммы для анализа случайных блужданий.
Вы узнали, как построить гистограмму с использованием Pygal и как исследовать
результаты бросков кубиков с разным количеством граней при помощи гисто-
граммы.
Генерирование собственных наборов данных в программах — интересный и мощ-
ный способ моделирования и анализа различных реальных ситуаций. В дальней-
ших проектах визуализации данных обращайте особое внимание на ситуации,
которые могут быть смоделированы на программном уровне. Присмотритесь
к визуализациям, встречающимся в выпусках новостей, — возможно, они были
сгенерированы методами, сходными с теми, о которых вы узнали в этих проектах?
В главе 16 мы загрузим данные из сетевого источника и продолжим использовать
matplotlib и Pygal для анализа данных.
16
Загрузка данных
В этой главе мы загрузим наборы данных из сетевого источника и создадим рабо-
тоспособные визуализации этих данных. В Интернете можно найти невероятно
разнообразную информацию, бульшая часть которой еще не подвергалась осно-
вательному анализу. Умение анализировать данные позволит вам выявить связи
и закономерности, не найденные никем другим.
В этой главе рассматривается работа с данными в двух популярных форматах,
CSV и JSON. Модуль Python
csv
будет применен для обработки погодных данных
в формате CSV (с разделением запятыми) и анализа динамики высоких и низких
температур в двух разных местах. Затем библиотека
matplotlib
будет использована
для построения на базе загруженных данных диаграммы изменения температур.
Позднее в этой главе модуль
json
будет использован для обращения к данным
численности населения, хранимым в формате JSON, а при помощи модуля Pygal
будет построена карта распределения населения по странам.
К концу этой главы вы будете готовы к работе с разными типами и форматами
наборов данных и начнете лучше понимать принципы построения сложных визу-
ализаций. Возможность загрузки и визуализации сетевых данных разных типов
и форматов крайне важна для работы с разнообразными массивами данных в ре-
альном мире.
Формат CSV
Один из простейших вариантов хранения — запись данных в текстовый файл как
серий значений, разделенных запятыми; такой формат хранения получил название
CSV (от Comma Separated Values, то есть «значения, разделенные запятыми»). На-
пример, одна строка погодных данных в формате CSV может выглядеть так:
2014-1-5,61,44,26,18,7,-1,56,30,9,30.34,30.27,30.15,,,,10,4,,0.00,0,,195
Это погодные данные за 5 января 2014 г. в Ситке (Аляска). В данных указаны мак-
симальная и минимальная температуры, а также ряд других показателей за этот
день. У человека могут возникнуть проблемы с чтением данных CSV, но этот фор-
мат хорошо подходит для программной обработки и извлечения значений, а это
ускоряет процесс анализа.
Начнем с небольшого набора погодных данных в формате CSV, запи-
санного в Ситке; файл с данными можно загрузить среди ресурсов книги
Формат CSV
337
по адресу https://www.nostarch.com/pythoncrashcourse/. Скопируйте файл
sitka_weather_07-2014 .csv
в каталог, в котором сохраняются программы этой главы.
(После загрузки ресурсов книги в вашем распоряжении появятся все необходимые
файлы для этого проекта.)
Достарыңызбен бөлісу: