Durante as minhas aulas de visualização de dados na FU percebi, novamente, um padrão que acompanha a área de dados por algum tempo: muitos dos dados utilizados nas aulas e em tutoriais são dos Estados Unidos. De repente a gente se vê analisando o que as pessoas de lá assistem no Netflix, o preço das casas da Califórnia e até a distribuição dos votos. Isso tudo não faz muito sentido pra mim sendo brasileira.
O Brasil tem uma política de dados abertos referência no mundo. O padrão é que os dados sejam públicos, a menos que haja uma boa justificativa. Por isso temos milhares de bases de dados para explorar. O DATASUS, por exemplo, é a maior base de dados clínicos aberta do mundo.
Temos uma abundância de dados em diversos domínios para explorar. Você pode saber sobre X, Y ou Z usando dados nacionais, estaduais e até municipais. Só tem um problema: para cada base de dados, você precisa baixar os arquivos, carregá-los e então começar a brincadeira. Para dados marjoriamente vindos dos EUA, isso já é feito por bibliotecas populares como scikit-learn datasets e vegas datasets, e sites como Kaggle e OpenML.
Pensando nisso, criei o cacimbão, uma biblioteca de base de dados reais brasileiros para aprendizado. Voltada para o Brasil, com dados brasileiros e otimizado para a realidade brasileira.
Como usar#
Um dos pontos fortes, e que acredito ter levado a popularização de outras bibliotecas, é a facilidade de uso. Com o cacimbão não é diferente. Para instalar, execute:
pip install cacimbaoDepois, você pode importar a biblioteca para ver as bases disponíveis:
import cacimbao
cacimbao.list_datasets()Se quiser ver mais detalhes sobre as base de dados disponíveis, você pode usar:
cacimbao.list_datasets(include_metadata=True)Carregando uma base de dados#
Você pode fazer isso carregando uma base de dados local (que não precisa de internet):
df = cacimbao.load_dataset("pescadores_e_pescadoras_profissionais")E também carregando uma base de dados remota (onde baixamos os dados da internet):
df = cacimbao.download_dataset("filmografia_brasileira")Você pode ver se uma base é local ou não pelos metadados (cacimbao.list_datasets(include_metadata=True)).
Tá, mas o que é Polars e Narwhals?#
Para quem é mais do lado nerd da coisa, deixo aqui algo legal que tenho experimentado nesse projeto. Ultimamente tenho usado o Polars, a mais recente queridinha da comunidade de dados. Mas sei que muitas pessoas ainda usam Pandas e eu gostaria de deixar essa biblioteca o mais acessível possível.
É aqui que Narwhals entra em ação! 🐋 Narwhals é uma biblioteca que faz uma interface entre diferentes dataframes, como Pandas, Polars, Duckdb e outros. Dessa forma, eu posso usar as bases de dados do Cacimbão a partir de um dataframe Polars e outras pessoas podem continuar usando Pandas da mesma maneira. Por padrão, o dataframe retornado é Polars. Caso você queira usar Polars também (vem, é massa!) use o parâmetro df_format:
df = cacimbao.download_dataset("filmografia_brasileira", df_format="pandas")
type(df)df = cacimbao.download_dataset("filmografia_brasileira", df_format="polars")
type(df)Próximos passos#
Atualmente a biblioteca conta com 5 bases de dados nas áreas de cultura, saúde, economia, trabalho e povos originários. Ainda quero adicionar mais bases mas também criar notebooks demonstrando como criar visualizações de dados, análises exploratórias e modelos de aprendizado de máquina com o Cacimbão.
Quiçá sairemos de árvores de decisão com o Titanic para diagnósticos com dados da nossa Pesquisa Nacional de Saúde. Dados, nós temos!