НачатьНачать бесплатно

Объединение датафреймов

В этом упражнении вы потренируетесь объединять записи и создадите набор данных из 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
____
Редактировать и запускать код