Maison >base de données >tutoriel mysql >Comment Pandas `rank(method='dense')` attribue-t-il des classements uniques aux valeurs liées ?

Comment Pandas `rank(method='dense')` attribue-t-il des classements uniques aux valeurs liées ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2025-01-12 07:53:43441parcourir

How Does Pandas `rank(method='dense')` Assign Unique Ranks to Tied Values?

Classement dense des Pandas : attribuez des classements uniques aux valeurs liées

Dans l'analyse des données, il est souvent nécessaire de classer les valeurs dans un ensemble de données en fonction de l'ordre. Dans Pandas, la fonction de classement fournit un moyen de calculer le classement ordinal par défaut. Cependant, il est parfois nécessaire d'obtenir des classements denses, où les valeurs ex aequo reçoivent le même classement plutôt que d'être ignorées.

Considérez le bloc de données Pandas suivant :

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

Pour générer des résultats équivalents à la fonction DENSE_RANK() sur la colonne Année, procédez comme suit :

  • Utilisez Pandas Series.rank avec method='dense' :
<code>df['Rank'] = df.Year.rank(method='dense').astype(int)

print(df)</code>

Cela générera une nouvelle colonne appelée Rank où chaque année se voit attribuer un classement dense :

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

Dans cet exemple, les valeurs à égalité pour 2013 reçoivent le même rang de 2, garantissant qu'aucune valeur n'est ignorée ou mal classée. La conversion astype(int) est facultative, mais son utilisation est recommandée pour garantir que les classements sont stockés sous forme d'entiers.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn