El método pandas.Series.rank devuelve una serie conteniendo la clasificación o posición de cada valor de la serie original si fuesen ordenados de menor a mayor. Veámoslo en funcionamiento. Partimos de la siguiente serie:
Si ejecutamos el método rank asociado a esta serie, el resultado es el siguiente:
Vemos que la estructura devuelta es una serie pandas, y que está formada por la posición o clasificación de cada elemento en la serie original. Así, por ejemplo, el menor valor de s era el 0 correspondiente a la etiqueta "c", de forma que, en la serie resultante de aplicar el método rank, el valor correspondiente a la etiqueta "c" es 1. El segundo valor de la serie s era el correspondiente a la etiqueta "b", que se muestra con el valor 2 en el resultado de rank, y así sucesivamente. Es decir, los valores de la serie resultante son los números desde 1 hasta n, siendo n el número de elementos de la serie original.
O, al menos, esto es así si no hay valores repetidos en la serie original pues, en ese caso, el método rank nos permite especificar cómo queremos clasificarlos, cosa que podemos hacer con el parámetro method. Por defecto, cada uno de los valores repetidos recibe el valor medio de las clasificaciones de cada uno de los valores suponiendo que se les aplicase como clasificación un número entero consecutivo. Es decir, si partimos de la siguiente serie:
...podemos ver que el valor 2 está repetido dos veces, y que el valor 3 está repetido tres veces. Apliquemos el método rank con los argumentos por defecto:
Si ordenásemos los valores de la serie s de menos a mayor, el resultado sería el siguiente:
2, 2, 3, 3, 3, 4, 5
Es decir, los valores 2 ocuparían las posiciones 1 y 2. Su valor medio es 1.5, que es el valor que les asigna el método rank. Los valores 3 ocuparían las posiciones 3, 4 y 5, cuyo valor medio es 4, y éste es el valor que les asigna el método rank.
En todo caso, el parámetro method del método nos permite escoger el criterio de asignación de la clasificación para valores repetidos: puede ser, por ejemplo, el menor valor (de los que recibirían si se asignasen valores no repetidos):
Vemos cómo se ha asignado a los dos valores correspondientes al menor valor (etiquetas "b" y "c") el valor 1 (mínimo de 1 y 2, posiciones que ocupan ambos números) y se ha asignado el valor 3 a los tres valores que ocupan las posiciones 3, 4 y 5.