De forma semejante a las series, los dataframes tienen el método pandas.DataFrame.rank, que devuelve la clasificación de cada valor a lo largo de un determinado eje. Veámoslo en funcionamiento:
La estructura devuelta por el método rank es otro dataframe, y el eje por defecto en el que se calculan las clasificaciones es el eje 0 (eje vertical). Vemos que el comportamiento es semejante al visto para las series (de hecho, podemos pensar que el método se aplica a cada columna por separado, siendo éstas, como sabemos, series). Por ejemplo, la primera columna está formada por las cifras 3, 3 y 1, y la clasificación es 2.5, 2.5 y 1 respectivamente, sabiendo que el 2.5 es la media de las posiciones 2 y 3 que dichas cifras ocuparían si la serie original se ordenase de menor a mayor.
También podemos aplicar el método a lo largo del eje 1 (eje horizonta):
En este caso, si consideramos la primera fila, los valores del dataframe original son 3, 1, 3 y 7, y su clasificación es 2.5, 1, 2.5 y 4, sabiendo nuevamente que el 2.5 es el valor medio de las posiciones 2 y 3 que ocuparían los valores repetidos (3) si se asignasen posiciones numéricas consecutivas.
El método rank tiene -ya lo hemos visto para series- el parámetro ascending que controla el orden de los resultados (ascendente o descendente) y el parámetro method que controla el criterio de clasificación para valores repetidos.