Объединение датафреймов
В этом упражнении вы потренируетесь объединять записи и создадите набор данных из 100 кафе Нью-Йорка с наивысшим рейтингом по версии Yelp.
API часто ограничивают объём возвращаемых данных, поскольку передача больших наборов данных требует значительных временных и вычислительных ресурсов. API поиска заведений Yelp возвращает не более 50 записей за один запрос. Однако параметр offset позволяет получать результаты, начиная с указанной позиции. Изменяя смещение, можно получить записи с 1 по 50 в одном запросе, а с 51 по 100 — в другом, после чего объединить датафреймы.
Библиотека pandas (импортирована как pd), а также requests и json_normalize() уже импортированы. 50 кафе с наивысшим рейтингом уже загружены в датафрейм top_50_cafes.
Это упражнение является частью курса
Эффективный импорт данных с pandas
Инструкции к упражнению
- Добавьте параметр
"offset"вparams, чтобы запрос к API Yelp возвращал кафе с 51 по 100. - Объедините результаты запроса к API с
top_50_cafes, задавignore_indexтак, чтобы строки были перенумерованы. - Выведите форму полученного датафрейма
cafes, чтобы убедиться, что в нём 100 записей.
Интерактивное практическое упражнение
Попробуйте выполнить это упражнение, дополнив этот пример кода.
# Add an offset parameter to get cafes 51-100
params = {"term": "cafe",
"location": "NYC",
"sort_by": "rating",
"limit": 50,
____}
result = requests.get(api_url, headers=headers, params=params)
next_50_cafes = json_normalize(result.json()["businesses"])
# Concatenate the results, setting ignore_index to renumber rows
cafes = ____
# Print shape of cafes
____