value_counts

contando a frequência de itens com pandas

Publicado em: 01/06/2021

em caso de dúvidas, envie email para alfredojrgasper@gmail.com

Necessidade

Muitas vezes eu precisava contar a frequencia de certo valor em uma coluna, como tinha a ideia do select na cabeça, acabava executando um comando mais complexo que o necessário.

df.groupby(['coluna'])['valor'].count()

A solução

Estava fazendo alguns cursos na Alura, e nos primeiros cursos me foi apresentado a função value_counts, isso me ajudou muito em analises iniciais.

df.value_counts('coluna')

existe também a opção normalize ela traz a porcentagem da frequência, muito util também.

df.value_counts('coluna', normalize=True)

Extra

Você pode gerar um novo dataframe com a frequência por quantidade e porcentagem

frequencia_quantidade = df.value_counts('coluna')
frequencia_porcentagem = df.value_counts('coluna', normalize=True)

pd.DataFrame({'Frequência':frequencia_quantidade,'Frequência (%)':frequencia_porcentagem})

Referência

Documentação oficial