Zacznij terazZacznij za darmo

Łączenie ramek danych

W tym ćwiczeniu przećwiczysz łączenie rekordów – stworzysz zbiór danych 100 najwyżej ocenianych kawiarni w Nowym Jorku według serwisu Yelp.

API często ograniczają ilość zwracanych danych, ponieważ przesyłanie dużych zbiorów danych może być czasochłonne i zasobożerne. Yelp Business Search API zwraca maksymalnie 50 rekordów w jednym wywołaniu. Parametr offset pozwala jednak pobierać wyniki od wskazanego miejsca. Zmieniając wartość offsetu, możemy pobrać wyniki 1–50 w jednym wywołaniu, a 51–100 w kolejnym, a następnie połączyć obie ramki danych.

Biblioteka pandas (jako pd), requests oraz json_normalize() są już zaimportowane. 50 najwyżej ocenianych kawiarni znajduje się już w ramce danych top_50_cafes.

To ćwiczenie jest częścią kursu

Sprawne importowanie danych z pandas

Zobacz kurs

Instrukcje do ćwiczenia

  • Dodaj parametr "offset" do params, tak aby wywołanie Yelp API zwróciło kawiarnie 51–100.
  • Połącz wyniki wywołania API z ramką top_50_cafes, ustawiając ignore_index tak, aby wiersze zostały przenumerowane.
  • Wyświetl kształt wynikowej ramki danych cafes, aby potwierdzić, że zawiera 100 rekordów.

Interaktywne ćwiczenie praktyczne

Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.

# 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
____
Edytuj i uruchom kod