บทความนี้สาธิตวิธีจัดกลุ่มข้อมูลใน Pandas DataFrame และเรียงลำดับตามขนาดของแต่ละกลุ่มจากน้อยไปมาก (Ascending Order)
แนวคิดหลัก
- ใช้
groupby()เพื่อจัดกลุ่มข้อมูล - ใช้
size()เพื่อนับจำนวนแถวในแต่ละกลุ่ม - ใช้
sort_values(ascending=True)เพื่อเรียงจากน้อยไปมาก
ตัวอย่างโค้ด
import pandas as pd
# สร้าง DataFrame ตัวอย่าง
dataFrame = pd.DataFrame({
"Car": ['BMW', 'Lexus', 'Audi', 'Mercedes', 'Jaguar', 'Bentley'],
"Reg_Price": [1000, 1400, 1000, 900, 1700, 900]
})
print("DataFrame ต้นฉบับ:")
print(dataFrame)
# จัดกลุ่มตาม Reg_Price และเรียงตามขนาดกลุ่ม (น้อยไปมาก)
result = dataFrame.groupby('Reg_Price').size().sort_values(ascending=True)
print("\nผลลัพธ์เรียงจากน้อยไปมาก:")
print(result)
อธิบายผลลัพธ์
Reg_Price
1400 1
1700 1
900 2
1000 2
dtype: int64
การตีความ: ราคา 1400 และ 1700 มีข้อมูลอยู่ 1 แถว (น้อยที่สุด) ส่วนราคา 900 และ 1000 มีข้อมูลอยู่ 2 แถว (มากที่สุด)
การประยุกต์ใช้
เทคนิคนี้มีประโยชน์เมื่อต้องการวิเคราะห์ความถี่ของข้อมูลในแต่ละกลุ่ม เช่น:
- หาว่ากลุ่มใดมีข้อมูลน้อยที่สุด (อาจเป็น Outlier)
- ตรวจสอบความสมดุลของข้อมูลในแต่ละกลุ่ม
- ตัดสินใจว่าควรเก็บข้อมูลกลุ่มไหนเพิ่มเติม