Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Python Pandas - Sắp xếp DataFrame tăng dần theo tần suất phần tử

Để sắp xếp dữ liệu tăng/giảm dần, dùng sort_values(). Tăng dần: ascending=True.

Nhập thư viện:

import pandas as pd

Tạo DataFrame 3 cột:

dataFrame = pd.DataFrame({
    "Car": ['BMW', 'Lexus', 'BMW', 'Mustang', 'Mercedes', 'Lexus'],
    "Reg_Price": [7000, 1500, 5000, 8000, 9000, 2000],
    "Place": ['Pune', 'Delhi', 'Mumbai', 'Hyderabad', 'Bangalore', 'Chandigarh']
})

Sắp xếp tăng dần theo tần suất: đếm xuất hiện bằng count(), kết hợp sort_values():

dataFrame.groupby(['Car'])['Reg_Price'].count().reset_index(name='Count').sort_values(['Count'], ascending=True)

Ví dụ

import pandas as pd

dataFrame = 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", dataFrame)

dataFrame = dataFrame.groupby(['Car'])['Reg_Price'].count().reset_index(name='Count').sort_values(['Count'], ascending=True)
print("\nSorting DataFrame in ascending order ...\n", dataFrame)

Đầu ra

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

Sorting DataFrame in ascending order ...
     Car  Count
2  Mercedes      1
3  Mustang       1
0    BMW         2
1   Lexus         2