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

Python – Xếp hạng hàng của Pandas DataFrame

Để thêm cột chứa xếp hạng của từng hàng trong DataFrame cung cấp, giúp sắp xếp DataFrame và xác định xếp hạng của phần tử cụ thể, ví dụ:

DataFrame của chúng ta

Tên Thời gian chơi (giờ) Đánh giá
0 Call Of Duty 45 Better than Average
1 Total Overdose 46 Good
2 GTA3 52 Best
3 Bully 22 Average

Kết quả

Tên Thời gian chơi (giờ) Xếp hạng đánh giá
0 Call Of Duty 45 Better than Average 3.0
1 Total Overdose 46 Good 2.0
2 GTA3 52 Best 1.0
3 Bully 22 Average 4.0

Như bạn thấy, xếp hạng là số nguyên nhưng có phần thập phân, nghĩa là xếp hạng có thể là số thực. Điều này xảy ra khi nhiều phần tử có cùng xếp hạng, lúc này xếp hạng bị chia giữa các phần tử, dẫn đến số thực.

Làm sao gán xếp hạng cho DataFrame?

Để gán xếp hạng cho các phần tử DataFrame, ta dùng hàm tích hợp của thư viện pandas là .rank(). Truyền tiêu chí xếp hạng vào hàm, nó trả về cột mới chứa xếp hạng.

Ví dụ

Mã sử dụng hàm .rank():

import pandas as pd
games = {'Name': ['Call Of Duty', 'Total Overdose', 'GTA 3', 'Bully'],
         'Play Time(in hours)': ['45', '46', '52', '22'],
         'Rate': ['Better than Average', 'Good', 'Best', 'Average']}
df = pd.DataFrame(games)
df['ranking'] = df['Play Time(in hours)'].rank(ascending=0)
print(df)
# Hello World program in Python
print("Hello World!")

Kết quả

    Name Play Time(in hours)              Rate  ranking
0  Call Of Duty                45  Better than Average      3.0
1  TotalOverdose               46                 Good      2.0
2  GTA 3                       52                 Best      1.0
3  Bully                       22              Average      4.0

Giải thích mã

Trong mã này, chúng ta dùng hàm tích hợp của pandas để xếp hạng từng phần tử trong DataFrame. Ta dùng cột 'Play Time(in hours)' làm tiêu chí. Thêm cột 'ranking' và dùng .rank() truyền tên cột cần xếp hạng. Khi cột mới tạo xong, in DataFrame.

Kết luận

Trong hướng dẫn này, chúng ta xếp hạng hàng trong DataFrame và in dữ liệu dùng pandas và hàm tích hợp. Xếp hạng hàng pandas DataFrame là quá trình dễ dàng, nhưng cần làm đúng phương pháp.