Pandas 密集排名:为并列值分配唯一排名
在数据分析中,通常需要根据顺序对数据集中的值进行排名。在 Pandas 中,rank 函数默认提供了一种计算序数排名的方法。但是,有时需要获得密集排名,其中并列值获得相同的排名,而不是被跳过。
考虑以下 Pandas 数据框:
<code>Year Value 2012 10 2013 20 2013 25 2014 30</code>
要对 Year 列生成等效于 DENSE_RANK() 函数的结果,请按如下步骤进行:
<code>df['Rank'] = df.Year.rank(method='dense').astype(int) print(df)</code>
这将生成一个名为 Rank 的新列,其中为每个年份分配密集排名:
<code> Year Value Rank 0 2012 10 1 1 2013 20 2 2 2013 25 2 3 2014 30 3</code>
在此示例中,2013 年的并列值获得相同的排名 2,确保没有值被跳过或排名错误。astype(int) 转换是可选的,但建议使用它来确保排名存储为整数。
以上是Pandas `rank(method='dense')` 如何为绑定值分配唯一的排名?的详细内容。更多信息请关注PHP中文网其他相关文章!