A Função zip em Python: Um Guia Completo
![Avatar de Ana Maria Gomes](https://hub.asimov.academy/wp-content/uploads/2024/06/WhatsApp-Image-2024-04-04-at-1.38.25-PM.jpeg)
Ao trabalhar com dados em Python, o Pandas é uma biblioteca essencial que fornece estruturas de dados de alto nível e uma ampla variedade de ferramentas para análise de dados. Uma tarefa comum que você pode encontrar é iterar sobre as linhas de um DataFrame do Pandas. Neste artigo, exploraremos como fazer isso de forma eficaz e também discutiremos algumas considerações importantes a ter em mente.
Vá do zero ao primeiro projeto em apenas 2 horas com o curso Python para Iniciantes.
Comece agoraiterrows()
Uma das maneiras mais diretas de iterar sobre as linhas de um DataFrame do Pandas é usar o método iterrows()
. Esse método retorna um iterador que gera o índice e os dados da linha para cada linha. Veja como você pode usá-lo:
import pandas as pd
# DataFrame de Exemplo
df = pd.DataFrame({'c1': [10, 11, 12], 'c2': [100, 110, 120]})
# Usando iterrows para iterar sobre as linhas do DataFrame
for index, row in df.iterrows():
print(row['c1'], row['c2'])
TestarIsso produzirá a saída:
10 100
11 110
12 120
iterrows()
Embora iterrows()
seja fácil de usar, é importante notar que pode ser lento, especialmente com DataFrames grandes. Isso ocorre porque iterrows()
retorna uma Series para cada linha, o que não preserva os dtypes entre as linhas. Se você precisa preservar os dtypes ou requer melhor desempenho, considere usar itertuples()
em vez disso.
itertuples()
para Melhor DesempenhoO método itertuples()
retorna um iterador que gera namedtuples com os dados da linha. Este método geralmente é mais rápido do que iterrows()
e é uma escolha melhor quando o desempenho é uma preocupação. Aqui está um exemplo:
import pandas as pd
# DataFrame de Exemplo
df = pd.DataFrame({'c1': [10, 11, 12], 'c2': [100, 110, 120]})
# Usando itertuples para iterar sobre as linhas do DataFrame
for row in df.itertuples(index=True, name='Pandas'):
print(row.c1, row.c2)
TestarAssim como com iterrows()
, você obterá a mesma saída, mas com um desempenho potencialmente melhor.
Antes de decidir iterar sobre as linhas do DataFrame, vale a pena considerar se você precisa iterar. O Pandas é projetado para trabalhar com operações vetorizadas, que geralmente são mais eficientes do que operações linha a linha. Aqui estão algumas alternativas a considerar:
apply()
: Se você tem uma função que não pode ser vetorizada, apply()
pode ser usado para aplicar uma função ao longo de um eixo do DataFrame.Neste artigo, cobrimos como iterar sobre as linhas de um DataFrame do Pandas usando iterrows()
e itertuples()
. Também discutimos a importância de considerar alternativas à iteração para melhor desempenho e eficiência. Lembre-se, embora a iteração possa ser útil em certas situações, sempre procure por soluções vetorizadas primeiro para aproveitar ao máximo as capacidades do Pandas.
Aprenda a programar e desenvolva soluções para o seu trabalho com Python para alcançar novas oportunidades profissionais. Aqui na Asimov você encontra:
Comentários
30xp