Contagem de Linhas de um DataFrame do Pandas

Ana Maria Gomes
6 minutos de leitura

Conteúdos do tutorial

Ao trabalhar com dados em Python, o Pandas é a biblioteca mais utilizada para manipulação e análise de dados. Uma das tarefas mais básicas que você pode precisar realizar é determinar o número de linhas em um DataFrame. Seja para pré-processar dados ou apenas para ter uma ideia do tamanho deles, saber como encontrar rapidamente a contagem de linhas é essencial. Neste artigo, exploraremos vários métodos para alcançar isso.

Usando len(df.index)

O primeiro método para obter a contagem de linhas de um DataFrame é usando a função len() no índice do DataFrame:

import pandas as pd

# Criando um DataFrame fictício
dados = {
    'Nome': ['João', 'Maria', 'Pedro', 'Ana', 'Carlos'],
    'Idade': [25, 30, 35, 40, 45],
    'Cidade': ['São Paulo', 'Rio de Janeiro', 'Belo Horizonte', 'Porto Alegre', 'Salvador']
}

df = pd.DataFrame(dados)

# Supondo que df é o seu DataFrame
contagem_linhas = len(df.index)

Este método é direto e usa a função integrada do Python len() para retornar o comprimento do índice, que corresponde ao número de linhas.

Usando df.shape[0]

Outra abordagem comum é usar o atributo shape do DataFrame:

# Isso lhe dará o número de linhas
contagem_linhas1 = df.shape[0]

O atributo shape retorna uma tupla representando a dimensionalidade do DataFrame. O primeiro elemento desta tupla é o número de linhas e o segundo é o número de colunas.

Se você estiver interessado tanto no número de linhas quanto no de colunas, pode desempacotar o atributo shape diretamente:

# Desempacotando o número de linhas (l) e colunas (c)
l, c = df.shape

Contando Valores Não-NaN na Primeira Coluna

Se você está especificamente procurando contar o número de valores não-NaN (não um número) na primeira coluna, você pode usar:

contagem_linhas2 = df[df.columns[0]].count()

Este método é útil quando você quer ignorar quaisquer linhas que contenham valores NaN na primeira coluna.

O Jeito Mais Simples: len(df)

Para simplicidade, você pode simplesmente usar len() diretamente no DataFrame:

contagem_linhas3 = len(df)

Esta é uma maneira muito legível de obter a contagem de linhas, e está documentado que retorna o comprimento do índice. Embora seja um pouco mais lento do que len(df.index) devido a uma chamada de função adicional, a diferença é insignificante para a maioria das aplicações.

Considerações de Desempenho

Para aqueles interessados no desempenho desses métodos, aqui está uma comparação rápida:

  • len(df.index) é o mais rápido, levando aproximadamente 248 nanossegundos por loop.
  • len(df) é um pouco mais lento, levando cerca de 573 nanossegundos por loop.

No entanto, a diferença é pequena e, na prática, é improvável que você perceba qualquer impacto no desempenho, a menos que esteja trabalhando com DataFrames extremamente grandes em um contexto sensível ao tempo.

Executando tudo

import pandas as pd
# Criando um DataFrame fictício

dados = {
    'Nome': ['João', 'Maria', 'Pedro', 'Ana', 'Carlos'],
    'Idade': [25, 30, 35, 40, 45],
    'Cidade': ['São Paulo', 'Rio de Janeiro', 'Belo Horizonte', 'Porto Alegre', 'Salvador']
}

df = pd.DataFrame(dados)

# Isso lhe dará o número de linhas
contagem_linhas1 = df.shape[0]

# Desempacotando o número de linhas (l) e colunas (c)
l, c = df.shape

contagem_linhas2 = df[df.columns[0]].count()

contagem_linhas3 = len(df)

print("Número de linhas (método 1):", contagem_linhas1)
print("Número de linhas (método 2):", contagem_linhas2)
print("Número de linhas (método 3):", contagem_linhas3)
print("Número de linhas (desempacotamento):", l)
Testar

Resumo

Em resumo, existem várias maneiras de obter a contagem de linhas de um DataFrame do Pandas:

  • Use len(df.index) para o desempenho mais rápido.
  • Use df.shape[0] para obter o número de linhas, ou l, c = df.shape para obter tanto linhas quanto colunas.
  • Use df[df.columns[0]].count() para contar valores não-NaN na primeira coluna.
  • Use len(df) para uma abordagem simples e legível.

Cada método tem seus casos de uso, e a escolha depende em grande parte das suas necessidades e preferências específicas. Com essas ferramentas em mãos, você pode trabalhar de forma eficiente com o tamanho e a forma dos seus DataFrames no Pandas.

Inscreva-se gratuitamente e fique atualizado

Receba toda semana um resumo dos principais conteúdos da Asimov direto no seu e-mail. 100% livre de spam.

Áreas de interesse: