เริ่มต้นใช้งานเริ่มต้นใช้งานได้ฟรี

แปลง JSON แบบซ้อนกันให้เป็นตาราง

คุณสมบัติอย่างหนึ่งของข้อมูล JSON คือสามารถซ้อนกันได้ นั่นคือค่าของแอตทริบิวต์หนึ่งอาจประกอบด้วยคู่แอตทริบิวต์-ค่าอีกชุดหนึ่ง ข้อมูลที่ซ้อนกันแบบนี้จะมีประโยชน์มากขึ้นเมื่อแปลง (flatten) ออกมาเป็นคอลัมน์ของ dataframe แยกต่างหาก ซับโมดูล pandas.io.json มีฟังก์ชัน json_normalize() ที่ทำหน้าที่นี้ได้โดยตรง

ข้อมูลที่ได้รับจาก Yelp API มีโครงสร้างแบบซ้อนกัน งานของคุณคือแปลงข้อมูลในระดับถัดไปที่อยู่ในคอลัมน์ coordinates และ location ให้เป็นตาราง

pandas (ในชื่อ pd) และ requests ถูกนำเข้าไว้แล้ว ผลลัพธ์จากการเรียก API ถูกเก็บไว้ในตัวแปร response

แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร

การนำเข้าข้อมูลด้วย pandas อย่างมีประสิทธิภาพ

ดูคอร์ส

คำแนะนำการฝึกหัด

  • นำเข้าฟังก์ชัน json_normalize() จากซับโมดูล io.json ของ pandas
  • แยกข้อมูล JSON จาก response แล้วกำหนดให้กับตัวแปร data
  • ใช้ json_normalize() เพื่อแปลงและโหลดข้อมูลธุรกิจเข้าสู่ dataframe ชื่อ cafes โดยตั้งค่าอาร์กิวเมนต์ sep ให้ใช้เครื่องหมายขีดล่าง (_) แทนจุด
  • แสดงข้อมูลแถวแรก ๆ ของ data

แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ

ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์

# Load json_normalize()
____

# Isolate the JSON data from the API response
data = ____

# Flatten business data into a dataframe, replace separator
cafes = ____(data["businesses"],
             ____)

# View data
print(cafes.head())
แก้ไขและรันโค้ด