A função DataFrame.iterrows() do Python Pandas é usada para iterar sobre as linhas de um DataFrame. Para cada linha, ela apresenta uma tupla Python contendo o índice da linha e um objeto Series com os respectivos dados.

Hospedagem web com consultor pessoal

Rápido e escalável, confie na hospedagem da IONOS, que inclui domínio grátis no primeiro ano e endereço de e-mail!

  • Domínio
  • SSL Wildcard
  • Suporte 24 horas

Sintaxe da função Pandas iterrows()

A sintaxe básica da função Pandas DataFrame.iterrows() é simples, já que ela não aceita nenhum parâmetro:

df.iterrows()
python

Nesse exemplo de código, df é o DataFrame em que ocorrerá a iteração.

Como usar a função Pandas iterrows()

A função Pandas DataFrame.iterrows() costuma ser usada quando é necessário processar dados linha por linha. Em muitos casos, ela é combinada com for loops em Python.

Somar valores de uma coluna

Vejamos um exemplo de DataFrame composto pelas colunas Nome, Idade e Pontuação:

import pandas as pd
# Criar exemplo de DataFrame
data = {'Nome': ['Ana', 'Beto', 'Clara'],
    'Idade': [23, 35, 29],
    'Pontuação': [88, 92, 85]}
df = pd.DataFrame(data)
print(df)
python

O código acima resultará no seguinte DataFrame:

Nome  Idade  Pontuação
0   Ana      23           88
1   Beto     35           92
2   Clara    29           85

Agora, vamos calcular a soma das pontuações. Podemos usar a função Pandas DataFrame.iterrows() para fazer isso:

# Calcular a pontuação total
total_pontos = 0
for index, row in df.iterrows():
    total_pontos += row['Pontuação']
print(f"A pontuação total é: {total_pontos}")
python

Neste exemplo, usamos a função Pandas iterrows() para iterar sobre cada linha, adicionando os valores da coluna Pontuação um por um. O resultado obtido será este:

A pontuação total é: 265
Nota

Ao usar a função Pandas iterrows(), é importante não modificar diretamente os dados iterados. Dependendo do tipo de dado, fazer isso poderia causar resultados inesperados e comportamentos indesejados.

Processar linhas usando condições

A função Pandas iterrows() também pode ser usada para aplicar condições a linhas individuais do seu DataFrame. Por exemplo, imagine que você queira consultar os nomes de todas as pessoas com mais de 30 anos no DataFrame usado anteriormente:

# Consultar nomes de pessoas com mais de 30 anos
nomes = []
for index, row in df.iterrows():
    if row['Idade'] > 30:
        nomes.append(row['Nome'])
print(f"Pessoas com mais de 30 anos: {nomes}")
python

Neste exemplo, usamos a função Pandas DataFrame.iterrows() para percorrer cada linha de dados. Dentro do for loop, ela verifica os valores na coluna Idade e armazena apenas os nomes das pessoas com mais de 30 anos na lista Python nomes. Isso é feito usando a função Python append(). Este será o resultado:

Pessoas com mais de 30 anos: ['Beto']
Nota

Embora seja fácil usar a função Pandas DataFrames.iterrows(), tenha em mente que ela não é tão eficiente para manipular DataFrames grandes. Em muitos casos, outras opções como a função apply() ou cálculos vetorizados apresentam melhor desempenho.

Este artigo foi útil?
Ir para o menu principal