ขั้นตอนการทำงาน
กำหนดขนาดรูปภาพและปรับระยะห่างรอบๆ subplots
สร้าง DataFrame ของ Pandas 3 คอลัมน์
จัดกลุ่มข้อมูลตาม marks และ dob
หา Median ของแต่ละกลุ่ม
เรียงลำดับคอลัมน์ตามค่า Median
สร้าง Boxplot จากคอลัมน์ที่เรียงแล้ว
แสดงรูปภาพด้วยเมธอด show()
ตัวอย่างโค้ด
import pandas as pd
import matplotlib.pyplot as plt
plt.rcParams["figure.figsize"] = [7.00, 3.50]
plt.rcParams["figure.autolayout"] = True
df = pd.DataFrame([
[23, 'James', 12],
[39, 'Jimmy', 27],
[56, 'Jack', 69],
[60, 'Tom', 96],
[80, 'Tim', 79]
], columns=['marks', 'names', 'dob'])
g = df.groupby(["marks", "dob"])
df = pd.DataFrame({col: val['dob'] for col, val in g})
median = df.median()
median.sort_values(ascending=False, inplace=True)
df = df[median.index]
df.boxplot()
plt.show()
ผลลัพธ์
Boxplot ที่เรียงลำดับจากค่า Median สูงสุดไปต่ำสุด (ซ้ายไปขวา) ทำให้เปรียบเทียบการกระจายของแต่ละกลุ่มได้ง่ายขึ้น
วิธีการทำงาน: Group ข้อมูล → คำนวณ Median แต่ละคอลัมน์ → เรียงคอลัมน์ตาม Median → พล็อต Boxplot ตามลำดับใหม่