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).