Об'єднання датафреймів
У цій вправі ви потренуєтеся об'єднувати записи, створивши набір даних зі 100 кафе з найвищими оцінками в Нью-Йорку за версією Yelp.
API часто обмежують обсяг даних у відповіді, адже передавання великих наборів даних потребує часу й ресурсів. Yelp Business Search API обмежує кількість результатів в одному виклику 50 записами. Однак параметр offset дає змогу отримати результати, починаючи після вказаної кількості. Змінивши зсув, ми можемо отримати результати 1–50 в одному виклику та 51–100 — в іншому. Потім ми можемо об'єднати датафрейми.
pandas (як pd), requests і json_normalize() уже імпортовано. 50 найрейтинговіших кафе вже збережено в датафреймі top_50_cafes.
Ця вправа є частиною курсу
Оптимізоване завантаження даних із pandas
Інструкції до вправи
- Додайте параметр
"offset"доparams, щоб виклик Yelp API отримав кафе 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
____