Heatmap ของเวลาเดินทางตามรูปแบบการเดินทาง
ในแบบฝึกหัดนี้ คุณจะสร้าง heatmap จากข้อมูลระดับประเทศ เพื่อเปรียบเทียบเวลาเดินทาง (หน่วยเป็นนาที) กับรูปแบบการเดินทาง โดยเริ่มต้นจาก data_row ซึ่งเป็นลิสต์ของค่าต่าง ๆ จากแถวข้อมูลเดียวในออบเจกต์การตอบกลับ JSON API ลิสต์รูปแบบการเดินทาง modes (5 รายการ) และลิสต์เวลาเดินทาง times (9 รายการ) ถูกสร้างไว้แล้วและแสดงผลในคอนโซล คุณต้องจัดรูปแบบแถวข้อมูลเดียวนี้ให้เป็นลิสต์ของลิสต์ สร้าง DataFrame ที่เหมาะสมสำหรับส่งให้ sns.heatmap แล้วจึงสร้าง heatmap
แถวข้อมูลประกอบด้วยข้อมูลของรูปแบบการเดินทาง 5 แบบ โดยแต่ละแบบมีค่าเวลาเดินทาง 9 ช่วง การวนซ้ำหนึ่งรอบหมายถึงชุดเวลาเดินทางครบทั้ง 9 ช่วง
โหลด pandas และ seaborn ด้วย alias ตามปกติแล้ว
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
การวิเคราะห์ข้อมูลสำมะโนประชากรสหรัฐฯ ด้วย Python
คำแนะนำการฝึกหัด
- กำหนดค่า
iter_lenให้เท่ากับความยาวของลิสต์times - ใน list comprehension ให้สร้าง range โดยกำหนด start เป็น 0, stop เป็นความยาวของ
data_rowและ step เป็นiter_len - สร้าง heatmap โดยใช้ DataFrame
commutingเป็นพารามิเตอร์แรก พร้อมแสดงตัวเลขจำนวนผู้เดินทางในหน่วยพัน (ใช้การหารแบบจำนวนเต็มเพื่อหารด้วย1000)
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# Set iter_len to the number of commute times
iter_len = ____
# Break row into list of lists by travel mode
data = [data_row[i:i+iter_len] for i in range(____)]
# Create DataFrame, set data type to int
commuting = pd.DataFrame(data=data, index=modes, columns=times)
commuting = commuting.astype(int)
# Create heatmap of commuters by mode by income
sns.heatmap(____, annot=____, fmt = "d", cmap="YlGnBu")
plt.xticks(rotation = 50)
plt.yticks(rotation = 50)
plt.show()