Python - Pandas DataFrame 的行排序


新增一列包含提供的資料幀中每一行的排名,這將有助於我們對資料幀進行排序並確定特定元素的排名,例如:

我們的資料幀

名稱 遊戲時間(小時)評分
0使命召喚45高於平均水平
1全面過量46良好
2俠盜獵車手352最佳
3惡霸魯尼22平均

輸出

名稱 遊戲時間(小時)評分排名
0使命召喚45高於平均水平3.0
1全面過量46良好2.0
2俠盜獵車手352最佳1.0
3惡霸魯尼22平均4.0

現在,正如您在上面的示例中看到的,我們的排名是整數,但在其旁邊有一個小數,這意味著我們也可以使用實數進行排名,並且這種情況發生在資料幀中多個元素具有相同的排名時,在這種情況下,我們的排名在這些元素之間分配。因此,它們的排名是實數。

那麼我們如何將排名分配到我們的資料幀呢?

為了將排名分配到我們資料幀的元素,我們使用 Pandas 庫的內建函式,即 **.rank()** 函式。我們將根據其對元素進行排名的標準傳遞給它,此函式將在每一行的新的列中返回儲存的排名。

示例

使用 .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!");

輸出

    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

以上程式碼的解釋

在此程式碼中,我們只是簡單地使用 Pandas 庫的內建函式對給定資料幀中存在的每個元素進行排名。我們可以使用最佳標準根據“遊戲時間(小時)”列對元素進行排名。

現在,我們在資料幀中新增一個名為“排名”的列,並在其中使用我們的 **.rank()** 函式,並傳遞我們需要對元素進行排名的列名(在本例中,它是“遊戲時間(小時)”列),現在當我們的新列建立後,我們列印我們的資料幀。

結論

在本教程中,我們對資料幀中的行進行排名,然後使用 Pandas 庫及其內建函式列印我們的資料。對 Pandas DataFrame 進行行排序是一個簡單的過程,但您需要正確遵循上述方法。

更新於: 2021年11月26日

935 次瀏覽

啟動你的 職業生涯

透過完成課程獲得認證

開始學習
廣告

© . All rights reserved.