ในการจัดกลุ่มดาต้าเฟรมของ 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