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

Tìm rank nhỏ nhất (min rank) của cột trong DataFrame Python

Giả sử bạn muốn xếp hạng (rank) các giá trị trong cột 'Age', gán rank nhỏ nhất cho giá trị trùng nhau (method='min').

Giải pháp

  • Tạo DataFrame.
  • Tạo cột 'Rank' bằng: df["Age"].rank(axis=0, method='min', ascending=True).

Mã ví dụ

import pandas as pd

data = {
    'Id': [1, 2, 3, 4, 5],
    'Name': ["Adam", "David", "Michael", "Peter", "William"],
    'Age': [12, 13, 14, 12, 13]
}
df = pd.DataFrame(data)

df["Rank"] = df["Age"].rank(axis=0, method='min', ascending=True)
print(df)

Kết quả

   Id      Name  Age  Rank
0   1      Adam   12   1.0
1   2     David   13   3.0
2   3   Michael   14   5.0
3   4     Peter   12   1.0
4   5   William   13   3.0

Giải thích:

  • method='min': Giá trị trùng nhau nhận rank nhỏ nhất (1, 1, 3, 3, 5).
  • ascending=True: Giá trị nhỏ rank nhỏ (1 là nhỏ nhất).
  • Các phương pháp khác: 'average' (trung bình), 'max', 'dense' (liền mạch), 'first' (theo thứ tự xuất hiện).