ข้อมูลภาพยนตร์แบบ nested
คุณมีชุดข้อมูล movies เก็บไว้ในเครื่องมาสักพักแล้ว และอยากนำมาวิเคราะห์ข้อมูลเกี่ยวกับภาพยนตร์ต่าง ๆ แต่พบว่าข้อมูลนั้นอยู่ในรูปแบบ JSON แบบ nested
หากต้องการนำเข้าสู่ DataFrame จะต้องใช้ฟังก์ชันที่เพิ่งเรียนรู้ไป จากนั้นจะ reshape DataFrame ที่ได้เพื่อให้ทำงานกับข้อมูลได้สะดวกขึ้น
ข้อมูล JSON แบบ semi-structured ชื่อ movies พร้อมใช้งานแล้ว อย่าลืมตรวจสอบดูใน console ด้วย!
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
การจัดรูปแบบข้อมูลด้วย pandas
คำแนะนำการฝึกหัด
- Import ฟังก์ชัน
json_normalize()จากpandas - Normalize ข้อมูล JSON ที่อยู่ใน
moviesโดยใช้เครื่องหมาย underscore แยกชื่อที่ได้จาก nested records - Reshape DataFrame ชื่อ
movies_normที่ได้จากขั้นตอนก่อนหน้าจากรูปแบบ wide เป็น long โดยใช้คอลัมน์directorและproducerเป็น index ที่ไม่ซ้ำกัน ตั้งชื่อตัวแปรใหม่ที่สร้างจากคอลัมน์ว่าmoviesโดยเริ่มต้นด้วยfeaturesคั่นด้วย underscore และมี suffix ที่ประกอบด้วยคำ
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# Import the json_normalize function
____
# Normalize movies and separate the new columns with an underscore
movies_norm = ____(____, sep=____)
# Reshape using director and producer as index, create movies from column starting from features
movies_long = pd.____(____, stubnames=____,
i=____, j=____,
sep=____, suffix=____)
# Print movies_long
print(movies_long)