Kom igångKom igång gratis

Konkatenera dataramar

I den här övningen får du träna på att konkatenera poster genom att skapa ett dataset med de 100 högst rankade kaféerna i New York City enligt Yelp.

APIer begränsar ofta hur mycket data som returneras per anrop, eftersom det är tidskrävande och resurskrävande att skicka stora datamängder. Yelp Business Search API returnerar maximalt 50 poster per anrop. Med parametern offset kan du dock hämta resultat från och med ett angivet nummer. Genom att ändra offset kan vi hämta resultaten 1–50 i ett anrop och 51–100 i ett annat. Sedan kan vi lägga ihop dataramarna.

pandas (som pd), requests och json_normalize() har redan importerats. De 50 högst rankade kaféerna finns redan i en dataram, top_50_cafes.

Den här övningen är en del av kursen

Effektiv datainläsning med pandas

Visa kurs

Övningsinstruktioner

  • Lägg till en "offset"-parameter i params så att Yelp API-anropet hämtar kaféerna 51–100.
  • Konkatenera resultaten från API-anropet med top_50_cafes och ange ignore_index så att raderna numreras om.
  • Skriv ut formen på den resulterande dataramen, cafes, för att bekräfta att den innehåller 100 poster.

Interaktiv övning med praktiskt arbete

Testa den här övningen genom att slutföra den här exempelkoden.

# 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
____
Redigera och kör kod