Explorando os dados das bibliotecas de São Francisco

Francisco Foz
10 min readJan 24, 2022

Conhecer e questionar os dados que irá analisar é uma das etapas iniciais de um projeto de ciência de dados. Entender os dados e suas relações é essencial para futuras análises mais aprofundadas.

“A análise exploratória de dados (AED) é uma abordagem à análise de conjuntos de dados de modo a resumir suas características principais, frequentemente com métodos visuais.” Fonte

Durante este artigo abordarei como explorei o conjunto de dados do sistema de bibliotecas de São Francisco.

Se quiser ver todo o notebook, acesse o projeto no meu Github.

Sumário:

  • Conjunto de dados;
  • Questionamentos:
  • Quais são os tipos de usuários e sua quantidade?
  • Quais são as faixas etárias dos usuários e a sua quantidade?
  • Quais são as bibliotecas e qual a quantidade de usuários por bibliotecas?
  • Quantos empréstimos foram realizados? Por tipo de usuário e por biblioteca.
  • Quantas renovações foram realizadas? Por tipo de usuário e por biblioteca.
  • Quais são os tipos de recebimento de aviso? Qual a quantidade de usuários que preferem cada tipo? Quais são os tipos de usuários que preferem cada tipo?
  • Como está distribuída a frequência de usuários que fornecem endereço de email? Quem são os usuários que não fornecem?
  • Qual a quantidade de usuários que não são de São Francisco?
  • Qual a quantidade de usuários que não realizam empréstimos a mais de 1 ano?
  • Qual a distribuição da quantidade média de empréstimos realizados por ano por tipo de usuário?
  • Há uma correlação entre o número de empréstimos e de renovações?

Bora lá?!

Conjunto de dados

Encontrei esse conjunto inicialmente no Kaggle, mas estarei utilizando os dados do Portal de dados da cidade de São Francisco.

O conjunto de dados inclui aproximadamente 420.000 registros, com cada registro representando um usuário anônimo da biblioteca. As colunas individuais incluem estatísticas sobre o código de tipo e idade do usuário, o ano em que o usuário se registrou (somente desde 2003) e a intensidade com que o usuário tem utilizado o sistema de biblioteca (em termos de número de checkouts) desde o primeiro registro (Resumo extraído do Kaggle).

Importei os dados e visualizei a tabela completa:

De início, usei a função .info() e tive as informações de cada variável, qual o seu tipo de dado, qual a quantidade de dados não nulos, tamanho total do arquivo…

Quais são os tipos de usuários?

Responder esse questionamento é fácil e listei os valores únicos da coluna, com o .unique()

Além disso, realizei a contagem dos dados com o .value_counts():

O tipo de usuário Friends for life, faz parte de um programa da biblioteca de levar os livros para as pessoas que possuem alguma deficiência e os impedem de chegar a ela.

Agora estes tipos com o “At user”, pareceram ser duplicados em relação aos demais.

Mesmo com o dicionário de dados disponibilizado pela instituição, não havia informações a respeito disso.

Então transformei eles nos demais tipos:

E para entender como se deu a distribuição total, fiz uma tabela de frequência:

Nesta fase em alguns casos apenas com tabelas e cálculos já é possível entender melhor os dados.

Mas também é possível visualizarmos através de gráficos, mas simples.

Não foi o foco deste projeto criar visualizações, por isso elas não foram aperfeiçoadas.

Quais são as faixas etárias dos usuários?

Listei novamente a variável e encontrei alguns que não foram respondidos:

Por isso preenchi os dados nulos com o .fillna()

E elaborei a tabela outra tabela de frequência:

Tipos de usuários X Faixas etárias

Fiquei curioso em saber como estava classificada as faixas etárias pelos tipos de usuários.

Por isso, criei uma tabela agrupando os valores e somando por tipo e faixa etária:

A partir dela, pivotei a tabela com o pd.pivot_table() (se você quiser saber mais sobre o “pivot”, confira esse artigo) e…

Não entendi.

Como podem adultos estarem dentro da faixa de 0–9 anos e 65–74?

Ou o tipo “Senior” entre 0–9, 10–19 e 20–24 anos?

Pesquisei a respeito, não encontrei. Mandei e-mail para o contato responsável informado pelo site e ainda não obtive resposta.

Decidi não dar continuidade à análise pelo ponto de vista da idade.

Quais são as bibliotecas e quantos usuários possuem?

Listei as bibliotecas que fazem parte do sistema:

E montei a tabela de frequência pela quantidade de usuários:

A biblioteca principal abrange aproximadamente 30% de todos os usuários, com as demais abaixo de 6%.

Quantos empréstimos foram realizados?

Em relação aos empréstimos eles se mantiveram em torno da proporção da quantidade de tipo de usuários:

Já pelas bibliotecas, a quantidade de empréstimos se distribuiu um pouco mais:

Mesmo a biblioteca principal possuindo a quantidade de 30% dos usuários totais, apenas 20% de todos os empréstimos foram dela.

Quantas renovações foram realizadas?

As renovações também mantiveram o padrão:

E para as bibliotecas elas também mantiveram o padrão da quantidade dos empréstimos:

Quais são os tipos de recebimento de aviso?

Listei os 4 disponíveis:

Verifiquei a frequência entre estes:

Também agrupei os tipos de usuários para ver quais eram as preferências:

Todos eles têm a maior quantidade na preferência por e-mail.

Como está distribuída a frequência de usuários que fornecem endereço de e-mail?

Dentre o total aproximadamente 20% não fornecem o e-mail.

Ok! Temos aproximadamente 23,5% de usuários que preferem aviso sem ser pelo e-mail.

Mas verifiquei se teria usuários que não fornecem o e-mail e solicitam aviso por ele.

E adivinha? Tinha:

Dados não consistentes que precisaríamos de mais informações dos criadores para entender esses pontos.

Qual a quantidade de usuários que não são de São Francisco?

15% dos usuários não residem em São Francisco.

Quantos novos usuários entraram a cada ano?

O último ano que contabilizei no dataset é de 2016, portanto realizei o cálculo a partir desta data, contabilizando a variável de último ano de atividade.

Criei a tabela de frequência:

E plotei o gráfico:

A maior quantidade de novos usuários em 2003, possivelmente seja pela implantação do sistema neste ano.

Ao decorrer dos anos o crescimento de novos usuários foi sempre positivo e tivemos um decréscimo em 2016. Possivelmente deve ter sido um atraso no processamento, por serem dados do próprio ano de contagem.

Qual a quantidade de usuários que não realizaram empréstimos ?

Houveram usuários que durante todo o período não fizeram empréstimos na biblioteca.

Aproximadamente 16% deles.

Qual a quantidade de usuários que não realizam empréstimos a mais de 1 ano ?

Por outra perspectiva agora.

Além dos 16% sem atividade, em torno de mais 33% dos usuários não realizaram empréstimos no último ano.

Apenas metade da quantidade total dos usuários estão ativos.

Aproximadamente 16% deles.

Qual a distribuição da quantidade média de empréstimos realizados ao ano e por tipo de usuário?

Quis entender qual era a quantidade média de empréstimos realizados por ano dentre os tipos de usuários.

Para isso, selecionei os dados que precisava:

Adicionei uma coluna com a quantidade média de empréstimos, contabilizando desde o ínicio do registro na biblioteca:

Fiz um .copy() porque é necessário para que não tenhamos problemas com a ordem da indexação no fatiamento do DF. Você pode ler mais a respeito na documentação e nesse artigo do Paulo Vasconcellos.

Só de olhar a tabela total, podemos perceber uma grande variação:

Enquanto teve uma pessoa que teve em média 2564 empréstimos por ano, outra não teve nenhuma.

Para ser sincero esse número é estranho, seriam aproximadamente 7 livros por dia de empréstimo. Mesmo que contabilizem revistas e artigos…

De qualquer forma, todos os demais tiveram uma grande quantidade de outliers, como podemos observar neste gráfico:

Como já falei, a ideia é entender os dados, para em um segundo momento desenvolver visualizações mais aperfeiçoadas.

Por isso, apenas irei cortar para que possamos dar um zoom nele:

Podemos observar que a maior concentração fica até no máximo entre 25 a 225.

Há correlação entre o número de empréstimos e de renovações?

Comparando as duas variáveis, há uma moderada correlação:

De acordo com a correlação de Pearson.

Fonte

O que podemos observar é que na “média” existe uma relação, mas não necessariamente direta. Principalmente devido aos outliers.

Como você pode observar no gráfico abaixo:

Considerações finais

Muitas questões foram exploradas sobre estes dados.

Mas a relação entre a faixa etária e os tipos de usuários, ficaram sem respostas. Caso ainda voltem a responder, avisarei por aqui o que ocorreu.

Este foi um exemplo de uma primeira análise com o objetivo de explorar os dados iniciais. Fica aberto para que outras pessoas desenvolvam novas perspectivas baseadas nesta ou em outras perspectivas próprias.

E você, se animou em explorar novos conjuntos de dados?

Ou mesmo esse aqui.

Compartilha comigo suas análises.

Se você chegou até aqui e curtiu, dê o claps, compartilhe e se inscreva para me acompanhar.

Não somente em análises de dados, na tecnologia

Ainda há muito a se explorar…

--

--

Francisco Foz
Francisco Foz

Written by Francisco Foz

Bibliotecário | Analista de dados | Disseminando informações para produzir conhecimento.

Responses (1)