เพื่อเรียง DataFrame ตามความถี่ของค่าในคอลัมน์เฉพาะ ให้ใช้ groupby() นับจำนวน (count()) แล้ว reset_index() และ sort_values() ตามคอลัมน์นับ (Count) ด้วย ascending=True
ตัวอย่างโค้ด
import pandas as pd
df = pd.DataFrame({
"Car": ['BMW', 'Lexus', 'BMW', 'Mustang', 'Mercedes', 'Lexus'],
"Reg_Price": [7000, 1500, 5000, 8000, 9000, 2000],
"Place": ['Pune', 'Delhi', 'Mumbai', 'Hyderabad', 'Bangalore', 'Chandigarh']
})
print("DataFrame ต้นฉบับ:\n", df)
# นับความถี่ของ Car แล้วเรียงน้อยไปมาก
freq_df = df.groupby('Car')['Reg_Price'].count().reset_index(name='Count').sort_values('Count', ascending=True)
print("\nความถี่ของ Car เรียงน้อยไปมาก:\n", freq_df)
ผลลัพธ์
DataFrame ต้นฉบับ:
Car Place Reg_Price
0 BMW Pune 7000
1 Lexus Delhi 1500
2 BMW Mumbai 5000
3 Mustang Hyderabad 8000
4 Mercedes Bangalore 9000
5 Lexus Chandigarh 2000
ความถี่ของ Car เรียงน้อยไปมาก:
Car Count
2 Mercedes 1
3 Mustang 1
0 BMW 2
1 Lexus 2
Mercedes และ Mustang 出现 1 ครั้ง (น้อยที่สุด) BMW และ Lexus 出现 2 ครั้ง