DataFrame’leri birleştir (concatenate)
Bu egzersizde, Yelp’e göre New York City’deki en yüksek puanlı 100 kafeden oluşan bir veri kümesi oluşturarak kayıtları birleştirmeyi pratiğe dökeceksin.
API’ler genellikle döndürülen veri miktarını sınırlar; çünkü büyük veri kümelerini göndermek zaman ve kaynak açısından maliyetlidir. Yelp Business Search API’si tek bir çağrıda 50 kayıtla sınırlandırır. Ancak, offset parametresi belirli bir sayıdan sonra başlayan sonuçları almanı sağlar. Ofseti değiştirerek, bir çağrıda 1-50 ve diğerinde 51-100 arası sonuçları alabiliriz. Sonrasında bu DataFrame’leri ekleyebiliriz.
pandas (pd olarak), requests ve json_normalize() içe aktarılmış durumda. En yüksek puanlı 50 kafe zaten top_50_cafes adlı bir DataFrame’de bulunuyor.
Bu egzersiz
pandas ile Kolaylaştırılmış Veri Alımı
kursunun bir parçasıdırEgzersiz talimatları
- Yelp API çağrısının 51-100 arası kafeleri getirmesi için
paramsiçine bir"offset"parametresi ekle. - API çağrısının sonuçlarını
top_50_cafesile birleştirirken satırların yeniden numaralanması içinignore_indexdeğerini ayarla. - Ortaya çıkan
cafesDataFrame’inin şeklini (shape) yazdırarak 100 kayıt olduğundan emin ol.
Uygulamalı interaktif egzersiz
Bu örnek kodu tamamlayarak bu egzersizi bitirin.
# 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
____