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

เรียงลำดับ DataFrame ตามความถี่ของค่าในคอลัมน์ (น้อยไปมาก) ด้วย sort_values()

เพื่อเรียง 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 ครั้ง