Method rank() berguna untuk memberikan posisi pada hierarki. Untuk lebih jelasnya kita gunakan contoh, ranking berdasarkan Salary. (Data yang digunakan masih menggunakan data dari modul sebelumnya).
Pertama kita import library dan data yang diperlukan.
import pandas as pd
df = pd.read_csv("nba.csv")
Agar method rank bisa bekerja dengan baik, pertama kita harus perbaiki data NaN.
Pertama kita buang data NaN dengan method=”all”. Kemudian kita fill dan NaN pada kolom salary dengan nilai 0 dan ubah menjadi tipe integer.
df.dropna(how="all", inplace=True)
df["Salary"] = df["Salary"].fillna(0).astype("int")
Tujuan dari modul ini adalah melakukan ranking berdasarkan salary dengan menambahkan kolom baru ke dataframe original dengan urutan ranking descending.
Sebelumnya mari kita lihat hasil method rank().
df["Salary"].rank()
0 361.0
1 348.0
2 6.0
3 136.0
4 311.0
...
452 208.0
453 217.0
454 75.0
455 243.5
456 91.0
Name: Salary, Length: 457, dtype: float64
Dapat dilihat hasil dari method rank secara default adalah ascending = True. Dimana salary terbesar akan diurutkan terakhir.
Agar ranking diurut dari salary terbesar, kita tambahkan parameter ascending=False. Dan perhatikan juga tipe data yang digunakan adalah float, akan kita ubah menjadi integer.
df["Salary"].rank(ascending=False).astype("int")
0 97
1 110
2 452
3 322
4 147
...
452 250
453 241
454 383
455 214
456 367
Name: Salary, Length: 457, dtype: int64
Setelah hasil method sudah sesuai harapan, kita tambahkan pada dataframe original dengan menambahkan kolom “Salary Rank”.
df["Salary Rank"] = df["Salary"].rank(ascending=False).astype("int")
Untuk membuktikan proses ranking berjalan dengan benar, kita dapat tampilkan data, diurutkan berdasarkan Salary. Sesuai ekspektasi salary terbesar akan mendapatkan ranking nomer 1.
df.sort_values("Salary", ascending=False)
Sampai pada modul ini, pembahasan DataFrame dasar sudah selesai, Anda dapat akses file Google Colab di https://colab.research.google.com/drive/10U18NA-uspu3ijCOAJbv5uGRMAStqIeR?usp=sharing