Pandas: Seleccionar las primeras o últimas filas de un DataFrame Pandas con head() o tail()

Publicado el 08 marzo 2021 por Daniel Rodríguez @analyticslane

Hoy vamos a explicar cómo seleccionar las primeras o últimas filas de un DataFrame, para lo que usaremos las métodos head() y tail().

Conjunto de datos de ejemplo

En esta ocasión vamos a utilizar el conjunto de datos planets que podemos encontrar en la librería Seaborn. Para importarlos solamente hay que utilizar la función load_dataset() con el nombre de conjunto de datos cómo parámetro. Así se puede cargar los datos en la variable planets con el siguiente código.

import pandas as pd
from seaborn import load_dataset

planets = load_dataset("planets")

En el caso de que necesitemos sacar este conjunto de datos por pantalla veremos que no es práctico. El conjunto consta de 1035 filas y seis columnas. Por fortuna los objetos DataFrame de Pandas cuentan con los métodos head() y tail() que permiten obtener un subconjunto de los objetos con las primeras o últimas filas respectivamente. Conjuntos más pequeños con los que es más fácil visualizar la forma de los datos.

Consultar las primeras filas con el método head()

El método head() de los DataFrame Pandas es de la siguiente forma

DataFrame.head(n=5)

Un método que tiene un único parámetro opcional, el número de filas que se desean extraer del DataFrame original. Por defecto el valor es cinco. Una cantidad habitualmente suficiente para hacerse una idea del contenido de los datos. Así si se llama a este método sin parámetros se obtienen los cinco primeros registros.

planets.head()
            method  number  orbital_period   mass  distance  year
0  Radial Velocity       1         269.300   7.10     77.40  2006
1  Radial Velocity       1         874.774   2.21     56.95  2008
2  Radial Velocity       1         763.000   2.60     19.84  2011
3  Radial Velocity       1         326.030  19.40    110.62  2007
4  Radial Velocity       1         516.220  10.50    119.47  2009

Aunque también, si solamente se desean tres, el comportamiento por defecto se puede cambiar fácilmente con el único parámetro.

planets.head(3)
            method  number  orbital_period   mass  distance  year
0  Radial Velocity       1         269.300   7.10     77.40  2006
1  Radial Velocity       1         874.774   2.21     56.95  2008
2  Radial Velocity       1         763.000   2.60     19.84  2011

Seleccionar las primeras filas de unas columnas específicas

El método también está disponible al seleccionar las columnas de un DataFrame, ya que este también es un objeto de tipo DataFrame. Así que, para obtener las primeras filas de, por ejemplo, las columnas distance y year solamente se tienen que seleccionar estas y llamar al método head()

planets[['distance', 'year']].head(n=3)
   distance  year
0     77.40  2006
1     56.95  2008
2     19.84  2011

Consultar las últimas filas con el método tail()

El método tail() funciona de forma análoga a head() con la diferencia, tal como su nombre indica, de obtener las últimas filas en lugar de las primeras.

DataFrame.tail(n=5)

Así que para obtener las últimas tres filas de conjunto de datos de los planetas solamente se tiene que ejecutar la siguiente línea

planets.tail(3)
       method  number  orbital_period  mass  distance  year
1032  Transit       1        3.191524   NaN     174.0  2007
1033  Transit       1        4.125083   NaN     293.0  2008
1034  Transit       1        4.187757   NaN     260.0  2008

Pudiéndose utilizar exactamente igual que head() para obtener los últimos registros de solo un subconjunto de columnas.

Conclusiones

En esta ocasión hemos visto cómo funcionan un par de métodos sencillos para obtener las primeras o últimas filas de un DataFrame Pandas. Métodos que son muy útiles para visualizar el contenido de los conjuntos de datos.