การเน้นค่าในการกระจายตัวของข้อมูล
บางครั้งจำเป็นต้องปรับแต่งข้อมูลก่อนเพื่อให้ได้ภาพแสดงผลที่ดีขึ้น เมธอด .dropna() และ .fillna() ช่วยจัดการกับค่าที่หายไปได้ นอกจากนี้ยังสามารถกำจัด outlier ได้โดยกรองรายการที่เกินหรือต่ำกว่าเปอร์เซ็นไทล์ที่กำหนด ด้วยการใช้เงื่อนไขร่วมกับ .quantile() บนคอลัมน์ที่ต้องการ
ในวิดีโอยังแสดงวิธีเน้นค่าเฉพาะในกราฟโดยการลากเส้นแนวตั้งที่ตำแหน่ง x ทั่วทั้งแกน:
Axes.axvline(x=0, color=None, ...)
ในแบบฝึกหัดนี้ จะได้สำรวจการกระจายตัวของรายได้ทั่วโลกอีกครั้ง จากนั้นลบ outlier ที่อยู่เหนือเปอร์เซ็นไทล์ที่ 95 แล้วพล็อตการกระจายตัว พร้อมเน้นทั้งค่าเฉลี่ยและค่ามัธยฐาน โดย pandas ในชื่อ pd, seaborn ในชื่อ sns และ matplotlib.pyplot ในชื่อ plt ได้ถูก import ไว้แล้ว และ DataFrame income จากแบบฝึกหัดก่อนหน้าพร้อมใช้งานใน workspace
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
การนำเข้าและจัดการข้อมูลทางการเงินใน Python
คำแนะนำการฝึกหัด
- กำหนดคอลัมน์
'Income per Capita'ให้กับตัวแปรinc_per_capita - กรองเพื่อเก็บเฉพาะแถวใน
inc_per_capitaที่มีค่าต่ำกว่าเปอร์เซ็นไทล์ที่ 95 แล้วกำหนดผลลัพธ์กลับไปยังตัวแปรเดิม - พล็อต histogram แบบค่าเริ่มต้นสำหรับ
inc_per_capitaที่กรองแล้ว และกำหนดผลลัพธ์ให้กับตัวแปรax - ใช้
ax.axvline()พร้อมระบุcolor='b'เพื่อเน้นค่าเฉลี่ยของinc_per_capitaด้วยสีน้ำเงิน - ใช้
ax.axvline()พร้อมระบุcolor='g'เพื่อเน้นค่ามัธยฐานด้วยสีเขียว แล้วแสดงผลลัพธ์
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# Create inc_per_capita
inc_per_capita = ____
# Filter out incomes above the 95th percentile
inc_per_capita = inc_per_capita[____ < ____]
# Plot histogram and assign to ax
ax = ____
# Highlight mean
ax.axvline(inc_per_capita.mean(), color='b')
# Highlight median
ax.axvline(inc_per_capita.median(), color='g')
# Show the plot
plt.show()