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

Python - จัดเรียงดาต้าเฟรม Pandas ที่จัดกลุ่มตามขนาดกลุ่ม?


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