Méthode équivalente pour implémenter la fonctionnalité DENSE_RANK dans Pandas
Les pandas ont souvent besoin de classer les valeurs au sein des groupes, et les valeurs en double sont considérées comme ayant le même classement. Pour ce faire, nous pouvons utiliser la fonction pd.Series.rank
, notamment en utilisant la méthode 'dense'
.
Prenons le bloc de données suivant comme exemple :
年份 | 数值 |
---|---|
2012 | 10 |
2013 | 20 |
2013 | 25 |
2014 | 30 |
Notre objectif est de créer une nouvelle colonne appelée « Classement » qui attribue un classement dense basé sur la colonne « Année », ce qui donne ce qui suit :
年份 | 数值 | 排名 |
---|---|---|
2012 | 10 | 1 |
2013 | 20 | 2 |
2013 | 25 | 2 |
2014 | 30 | 3 |
Pour cela nous pouvons utiliser le code suivant :
<code class="language-python">df['排名'] = df.年份.rank(method='dense').astype(int)</code>
pd.Series.rank
La fonction calcule le classement de chaque élément de la Série. En spécifiant 'dense'
comme méthode, nous lui demandons d'attribuer le même rang aux éléments de même valeur. Enfin, nous utilisons .astype(int)
pour convertir le résultat en un type de données entier.
La sortie du code générera une nouvelle colonne « Classement » dans le bloc de données, comme indiqué ci-dessous :
<code> 年份 数值 排名 0 2012 10 1 1 2013 20 2 2 2013 25 2 3 2014 30 3</code>
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!