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.
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:
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:
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:
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
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:
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']
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.