ในการจัดกลุ่มดาต้าเฟรมของ Pandas เราใช้ groupby() ในการจัดเรียง dataframe ที่จัดกลุ่มในลำดับจากน้อยไปมากหรือมากไปหาน้อย ให้ใช้ sort_values() ใช้ size() เพื่อรับขนาด dataframe
สำหรับการเรียงลำดับจากน้อยไปมาก ให้ใช้ค่าต่อไปนี้ใน sort_values() −
ascending=True
สำหรับการเรียงลำดับจากมากไปน้อย ให้ใช้ค่าต่อไปนี้ใน sort_values() −
ascending=False
ขั้นแรก สร้างดาต้าเฟรมของแพนด้า −
dataFrame = pd.DataFrame(
{
"Car": ['BMW', 'Lexus', 'Audi', 'Mercedes', 'Jaguar', 'Bentley'],
"Reg_Price": [1000, 1400, 1000, 900, 1700, 900]
}
) ถัดไป จัดกลุ่มตามคอลัมน์ Reg_Price และเรียงลำดับจากมากไปน้อย -
dataFrame.groupby('Reg_Price').size().sort_values(ascending=False) ถัดไป จัดกลุ่มตามคอลัมน์ Reg_Price และเรียงลำดับจากน้อยไปมาก -
dataFrame.groupby('Reg_Price').size().sort_values(ascending=True) ตัวอย่าง
ต่อไปนี้เป็นรหัส -
import pandas as pd
# dataframe with one of the columns as Reg_Price
dataFrame = pd.DataFrame(
{
"Car": ['BMW', 'Lexus', 'Audi', 'Mercedes', 'Jaguar', 'Bentley'],
"Reg_Price": [1000, 1400, 1000, 900, 1700, 900]
}
)
print"DataFrame...\n",dataFrame
# group according to Reg_Price column and sort in descending order
print"Sorted in Descending order...\n";
print(dataFrame.groupby('Reg_Price').size().sort_values(ascending=False))
# group according to Reg_Price column and sort in ascending order
print"Sorted in Ascending order...\n";
print(dataFrame.groupby('Reg_Price').size().sort_values(ascending=True)) ผลลัพธ์
สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -
DataFrame... Car Reg_Price 0 BMW 1000 1 Lexus 1400 2 Audi 1000 3 Mercedes 900 4 Jaguar 1700 5 Bentley 900 Sorted in Descending order... Reg_Price 1000 2 900 2 1700 1 1400 1 dtype: int64 Sorted in Ascending order... Reg_Price 1400 1 1700 1 900 2 1000 2 dtype: int64