Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

Python – การจัดกลุ่มและเรียงลำดับ Pandas DataFrame ตามขนาดกลุ่ม (Descending)

บทความนี้สาธิตวิธีจัดกลุ่มข้อมูลใน Pandas DataFrame และเรียงลำดับตามขนาดของแต่ละกลุ่มจากมากไปน้อย (Descending Order)

แนวคิดหลัก

  • ใช้ groupby() จัดกลุ่ม
  • ใช้ size() นับจำนวนในแต่ละกลุ่ม
  • ใช้ sort_values(ascending=False) เรียงจากมากไปน้อย

โค้ดตัวอย่าง

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=False)

print("\nผลลัพธ์เรียงจากมากไปน้อย:")
print(result)

ผลลัพธ์

Reg_Price
1000    2
900     2
1700    1
1400    1
dtype: int64

การตีความ

  • ราคา 1000 และ 900 มีข้อมูลมากที่สุด (2 แถวต่อกลุ่ม)
  • ราคา 1700 และ 1400 มีข้อมูลน้อยที่สุด (1 แถวต่อกลุ่ม)

การประยุกต์ใช้

การเรียง Descending มีประโยชน์เมื่อต้องการ:

  • หากลุ่มที่มีข้อมูลมากที่สุด (Majority class)
  • ระบุ Top-K กลุ่มที่สำคัญที่สุด
  • วิเคราะห์การกระจายข้อมูล (Data Distribution)
  • ตัดสินใจ Sampling strategy

รวม Ascending และ Descending

# ทั้งสองแบบในครั้งเดียว
asc = dataFrame.groupby('Reg_Price').size().sort_values(ascending=True)
desc = dataFrame.groupby('Reg_Price').size().sort_values(ascending=False)

print("Ascending (น้อยไปมาก):")
print(asc)
print("\nDescending (มากไปน้อย):")
print(desc)