ต่อ dataframe เข้าด้วยกัน
ในแบบฝึกหัดนี้ จะฝึกการต่อข้อมูลเข้าด้วยกันโดยสร้างชุดข้อมูลร้านกาแฟที่ได้คะแนนสูงสุด 100 อันดับในนิวยอร์กซิตี้จาก Yelp
โดยทั่วไป API จะจำกัดปริมาณข้อมูลที่ส่งกลับในแต่ละครั้ง เนื่องจากการส่งชุดข้อมูลขนาดใหญ่ใช้เวลาและทรัพยากรมาก Yelp Business Search API จำกัดผลลัพธ์ต่อการเรียกหนึ่งครั้งไว้ที่ 50 รายการ อย่างไรก็ตาม parameter offset ช่วยให้ดึงผลลัพธ์โดยเริ่มต้นหลังจากจำนวนที่กำหนดได้ ด้วยการปรับ offset เราจึงดึงผลลัพธ์ที่ 1-50 ในการเรียกครั้งแรก และ 51-100 ในการเรียกครั้งที่สอง จากนั้นนำ dataframe ทั้งสองมาต่อกัน
ได้ import pandas (เป็น pd), requests และ json_normalize() ไว้แล้ว ข้อมูลร้านกาแฟ 50 อันดับแรกอยู่ใน dataframe ชื่อ top_50_cafes แล้ว
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
การนำเข้าข้อมูลด้วย pandas อย่างมีประสิทธิภาพ
คำแนะนำการฝึกหัด
- เพิ่ม parameter
"offset"ในparamsเพื่อให้การเรียก Yelp API ดึงข้อมูลร้านกาแฟอันดับที่ 51-100 - ต่อผลลัพธ์จากการเรียก API เข้ากับ
top_50_cafesโดยตั้งค่าignore_indexเพื่อให้มีการเรียงหมายเลขแถวใหม่ - พิมพ์ shape ของ dataframe
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
____