Iterar sobre filas de DataFrame con Pandas iterrows()

Para iterar sobre las filas de un DataFrame de Pandas, se utiliza la función DataFrame.iterrows() que devuelve un iterador con los datos de índice y fila de cada fila.

En este tutorial, veremos ejemplos que demuestran cómo iterar sobre las filas de un DataFrame utilizando iterrows().

Sintaxis de iterrows()

La sintaxis de iterrows() es

DataFrame.iterrows(self)

Los retornos de iterrows son

  • index – índice de la fila en el DataFrame. Puede ser una etiqueta para un índice único, o una tupla de etiquetas para un índice múltiple.
  • data data son los datos de la fila como series de Pandas.
  • it – es el generador que itera sobre las filas del DataFrame.

Ejemplo 1: Pandas iterrows() Iterar sobre filas

En este ejemplo, inicializaremos un DataFrame con cuatro filas e iteraremos a través de ellas utilizando el bucle For de Python y la función iterrows().

import pandas as pd

#crear marco de datos
df = pd.DataFrame({
    'nombre': ['manzana', 'plátano', 'naranja', 'mango'],
	'calorías': [68, 74, 77, 78]})

#regresar a través de cada fila del marco de datos
for indice, fila in df.iterrows():
    print(indice, ': ', fila['nombre'], 'tiene', fila['calorías'], 'calorías.')

Durante cada iteración, podemos acceder al índice de la fila, y al contenido de la misma.

0 :  manzana tiene 68 calorías.
1 :  plátano tiene 74 calorías.
2 :  naranja tiene 77 calorías.
3 :  mango tiene 78 calorías.

Por favor, tenga en cuenta que la información de las calorías no es real. El ejemplo es para demostrar el uso de iterrows().

Ejemplo 2: iterrows() devuelve el índice y la serie

En el ejemplo anterior, hemos visto que podemos acceder a los datos del índice y de la fila.

En este ejemplo, investigaremos el tipo de datos de fila que iterrows() devuelve durante la iteración.

import pandas as pd

#crear marco de datos
df = pd.DataFrame({
    'nombre': ['manzana', 'plátano', 'naranja', 'mango'],
	'calorías': [68, 74, 77, 78]})

#regresar a través de cada fila del marco de datos
for indice, fila in df.iterrows():
    print(type(indice), type(fila))

Salida:

<class 'int'> <class 'pandas.core.series.Series'>
<class 'int'> <class 'pandas.core.series.Series'>
<class 'int'> <class 'pandas.core.series.Series'>
<class 'int'> <class 'pandas.core.series.Series'>

No proporcionamos ningún índice al DataFrame, por lo que el índice por defecto sería entero a partir de cero e incrementándose en uno. Así, iterrows() devuelve el índice como un entero.

iterrows() devuelve los datos de las filas como series de Pandas.

En este tutorial de Pandas, hemos utilizado DataFrame.iterrows() para iterar sobre las filas de Pandas DataFrame, con la ayuda de programas de ejemplo detallados.

Deja una respuesta