首頁 > 資料庫 > mysql教程 > 如何在 Pandas 中實現 DENSE_RANK 功能?

如何在 Pandas 中實現 DENSE_RANK 功能?

DDD
發布: 2025-01-12 07:35:42
原創
789 人瀏覽過

How to Implement DENSE_RANK Functionality in Pandas?

在Pandas中實作DENSE_RANK功能的等效方法

Pandas中經常需要對分組內的值進行排名,並將重複值視為具有相同排名。為此,我們可以利用pd.Series.rank函數,特別是使用'dense'方法。

以下面的資料框為例:

年份 数值
2012 10
2013 20
2013 25
2014 30

我們的目標是建立一個名為「排名」的新列,根據「年份」列分配密集排名,結果如下:

年份 数值 排名
2012 10 1
2013 20 2
2013 25 2
2014 30 3

為此,我們可以使用以下程式碼:

df['排名'] = df.年份.rank(method='dense').astype(int)
登入後複製

pd.Series.rank函數計算Series中每個元素的排名。透過指定'dense'作為方法,我們指示它為具有相同值的元素分配相同的排名。最後,我們使用.astype(int)將結果轉換為整數資料類型。

程式碼的輸出將在資料框中產生一個新的「排名」列,如下所示:

<code>   年份  数值  排名
0  2012     10     1
1  2013     20     2
2  2013     25     2
3  2014     30     3</code>
登入後複製

以上是如何在 Pandas 中實現 DENSE_RANK 功能?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板