Home >Database >Mysql Tutorial >How to Implement SQL's DENSE_RANK() Function in Pandas?

How to Implement SQL's DENSE_RANK() Function in Pandas?

DDD
DDDOriginal
2025-01-12 07:41:45948browse

How to Implement SQL's DENSE_RANK() Function in Pandas?

Implementation of DENSE_RANK() function in Pandas

When using Pandas, you may encounter situations where you need to create the equivalent of the SQL DENSE_RANK() function. This function assigns consecutive ranks to rows and treats tied values ​​as equal, which is useful for a variety of data analysis tasks.

In Pandas, you can use the pd.Series.rank() method with the method='dense' parameters to achieve this functionality. This parameter specifies the ranking method as intensive, ensuring that there are no gaps in the ranking values.

To demonstrate its usage, let us consider the following data frame:

<code>Year  Value
2012  10
2013  20
2013  25
2014  30</code>

To create a "Rank" column using the dense ranking method, you can use the following code:

<code>df['Rank'] = df.Year.rank(method='dense').astype(int)</code>

The resulting DataFrame will contain an additional "Rank" column to which the dense ranking is assigned:

<code>   Year  Value  Rank
0  2012    10     1
1  2013    20     2
2  2013    25     2
3  2014    30     3</code>

Note that the 2013 values ​​are tied, both receiving the same rank of 2, demonstrating the behavior of dense ranking.

The above is the detailed content of How to Implement SQL's DENSE_RANK() Function in Pandas?. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn