Como percorrer DataFrames com Pandas iterrows()
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.
- Fique online com 99,99% de tempo de atividade e segurança robusta
- Aumente o desempenho com um clique à medida que o tráfego cresce
- Inclui domínio gratuito, SSL, e-mail e suporte 24 horas por dia, 7 dias por semana
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()pythonNesse 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)pythonO código acima resultará no seguinte DataFrame:
Nome Idade Pontuação
0 Ana 23 88
1 Beto 35 92
2 Clara 29 85Agora, 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}")pythonNeste 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 é: 265Ao 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}")pythonNeste 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']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.

