М97 Изучаем Python: программирование игр, визуализация данных, веб-приложения



Pdf көрінісі
бет270/334
Дата18.10.2023
өлшемі6,19 Mb.
#186390
1   ...   266   267   268   269   270   271   272   273   ...   334
Байланысты:
Изучаем Python

УПРАЖНЕНИЯ
16.6. Рефакторинг:
в цикле, извлекающем данные из 
all_eq_dicts
, используются пере-
менные для сохранения магнитуды, долготы, широты и заголовка каждого землетрясения 
перед присоединением этих значений к соответствующим спискам. Такой подход был вы-
бран для того, чтобы процесс извлечения данных из файла JSON был более понятным, но 
в вашем коде он необязателен. Вместо использования временных переменных извлеките 
каждое значение из 
eq_dict
и присоедините его к соответствующему списку в одной стро-
ке. В результате тело цикла сократится до четырех строк.
16.7. Автоматизированный заголовок:
в этом разделе заголовок задавался вручную при 
определении 
my_layout
; это означает, что вы должны обновлять заголовок при каждом из-
менении исходного файла. Вместо этого можно воспользоваться заголовком набора дан-
ных из метаданных файла JSON. Извлеките это значение, присвойте его переменной и ис-
пользуйте для заголовка карты при определении 
my_layout
.
16.8. Недавние землетрясения:
в интернете доступны файлы данных с информацией о по-
следних землетрясениях за одночасовой, однодневный и 30-дневный период. Откройте 


Итоги
373
страницу 
https://earthquake .usgs .gov/earthquakes/feed/v1 .0/geojson .php
и найдите список ссы-
лок на наборы данных за разные периоды времени. Загрузите один из этих наборов данных 
и создайте визуализацию последней сейсмической активности.
16.9. Пожары:
в ресурсах этой главы присутствует файл 
world_fires_1_day .csv
. Он содержит 
информацию о пожарах по всему миру, включая долготу, широту и площадь каждого по-
жара. Используя процедуру обработки данных из первой части этой главы и картографи-
ческие средства из этого раздела, постройте карту с информацией о том, какие части мира 
страдают от пожаров.
Обновленные версии этих данных можно загрузить по адресу 
https://earthdata .nasa .gov/
earth-observation-data/near-real-time/irms/active-fire-data/
. Ссылки на данные в формате CSV на-
ходятся в разделе TXT.
Итоги
В этой главе вы научились работать с реальными наборами данных. Вы узнали, как 
обрабатывать файлы CSV и JSON и как извлечь данные, на которых вы хотите со-
средоточиться. Используя реальные погодные данные, вы освоили новые возмож-
ности работы с библиотекой Matplotlib, включая использование модуля 
datetime
и возможность нанесения нескольких наборов данных на одну диаграмму. Вы 
узнали, как нанести данные на карту мира с использованием Plotly и как изменить 
оформление карт и диаграмм Plotly.
С накоплением опыта работы с файлами CSV и JSON вы сможете обрабатывать 
практически любые данные, которые вам потребуется проанализировать. Многие 
сетевые наборы данных могут загружаться хотя бы в одном из этих форматов. По-
сле работы с этими форматами вам также будет проще усвоить другие форматы 
данных.
В следующей главе вы напишете программы для автоматического сбора данных 
из сетевых источников, а затем создадите визуализации этих данных. Это занятие 
весьма интересное, если вы рассматриваете программирование как увлечение, и аб-
солютно необходимое, если вы занимаетесь программированием профессионально.


17
Работа с API
В этой главе вы научитесь писать специализированные программы для построения 
визуализаций на основании загруженных программами данных. Ваша программа 
будет использовать 
программный интерфейс
(API) веб-приложения для автома-
тического запроса конкретной информации с сайта (вместо целых страниц). Полу-
ченная информация будет использоваться для построения визуализации. Так как 
программы, написанные по такой схеме, всегда используют самые свежие данные 
для построения визуализации, даже при быстро изменяющихся данных полученная 
диаграмма всегда будет оставаться актуальной.
Использование API веб-приложений
API веб-приложения представляет собой часть веб-сайта, предназначенную для 
взаимодействия с программами, которые используют особым образом построенные 
URL-адреса для запроса информации. Подобные запросы называются 
вызовами 
API
. Запрашиваемые данные возвращаются в удобном формате (например, JSON 
или CSV). Многие приложения, зависящие от внешних источников данных (как 
приложения, интегрирующиеся с сайтами социальных сетей), используют вы-
зовы API.
Git и GitHub
Наша визуализация будет построена на базе информации с GitHub — сайта, органи-
зующего совместную работу программистов над проектами. Мы воспользуемся API 
GitHub для запроса информации о проектах Python и последующего построения 
интерактивной визуализации относительной популярности этих проектов в Plotly.
Имя GitHub (
https://github .com/
) происходит от Git — распределенной системы 
контроля версий, которая позволяет программистам совместно трудиться над про-
ектами. Пользователи Git управляют своим индивидуальным вкладом в проект, 
чтобы изменения, вносимые одним человеком, не конфликтовали с изменениями, 
вносимыми другими людьми. Когда вы реализуете новую возможность в проекте, 
Git отслеживает изменения, внесенные в каждый файл. Если новый код успешно 
работает, вы 
закрепляете
внесенные изменения, и Git записывает новое состояние 


Использование API веб-приложений
375
проекта. Если же вы допустили ошибку и захотите отменить внесенные измене-
ния, Git позволяет легко вернуться к любому из предыдущих рабочих состояний. 
(За дополнительной информацией об управлении версиями с использованием Git 
обращайтесь к приложению Г.) Проекты GitHub хранятся в 
репозиториях
, содер-
жащих все ресурсы, связанные с проектом: код, информацию о других участниках, 
все проблемы или отчеты об ошибках и т. д.
Если проект нравится пользователям GitHub, то пользователи могут «поставить 
звезду», чтобы продемонстрировать свою поддержку и следить за проектами, 
которые могут им пригодиться. В этой главе мы напишем программу для авто-
матической загрузки информации о проектах Python с наибольшим количеством 
звезд на GitHub, а затем построим содержательную визуализацию таких проектов.
Запрос данных с использованием вызовов API
GitHub поддерживает API (программный интерфейс) для запроса разнообразной 
информации посредством вызовов API. Чтобы понять, как выглядит вызов API, 
введите следующий адрес в адресной строке своего браузера и нажмите 
Enter
:


Достарыңызбен бөлісу:
1   ...   266   267   268   269   270   271   272   273   ...   334




©engime.org 2024
әкімшілігінің қараңыз

    Басты бет