Em bibliotecas aleatórias o objetivo é explorar uma pequena lib (geralmente em Python mas podem ter outras que são só CLIs, etc) e ver o que ela faz, quais suas vantagens e como criar um pequeno código com ela para algum problema que você tenha.
Objetivo
O objetivo do pyjanitor é criar uma API de limpeza de dados em cima da API do pandas. Mas que esta API seja consistente que é algo que infelizmente, a API do pandas não é.
Outro ponto interessante é que com uma API consistente e method chaining[1] fica muito fácil ler o código, o que é uma grande vantagem quando estamos falando de várias pipelines e notebooks sendo produzidos dentro de uma empresa.
Exemplo de código
Nesta seção eu vou tentar levar pra vocês um pouco, o código para estes exemplos podem ser encontrados aqui:
Este é o dataset que vamos tratar:

Como dá pra ver, nós temos alguns problemas no dataset, pense por uns dois minutos que você acha problemático no dataset.
Os principais que eu consigo enxergar são:
- payment #ID é um nome de coluna horrível para quase qualquer sistema.
- payment #ID tá listado como float64 quando é fácil ver que é do tipo inteiro, assim como age.
- due_date tá listado como tipo “object” quando é óbvio que seu tipo é Date/datetime
- Missing data nas colunas age, payment #ID e due_date
Então eu vou mostrar como eu faria essas limpezas utilizando pandas somente e depois a diferença ao utilizar Pyjanitor.
Ao utilizar pandas, nós conseguimos fazendo os seguintes passos:

E o resultado das transformações:

Quais críticas você consegue elaborar acerca do código? você conseguiria entender fácil o que está sendo feito?
Por isso o pyjanitor surgiu, vejam como ficam as mesmas transformações ao utilizar pyjanitor:

Quais as vantagens que você consegue observar? a primeira delas é que eu sei exatamente qual variável contém os resultados das transformações e outra grande vantagem é que as funções possuem nomes muito descritivos e o resultado é o mesmo:

O que você deve tá pensando é que o pyjanitor também é expansível através de um decorator bem simples, a gente vai tentar fazer algo bem besta aqui só para testar mas que mostra o poder.

Bem suave né? e ai você pode ir bem longe com as suas necessidades, uma limpeza para um tipo de dado específico (imagem mensagem provenientes do Google Cloud pub/sub por exemplo).
Análise do repositório do github [2]
Uma coisa que eu faço como análise (imagina você analisando uma empresa para investir na bolsa) é checar a frequência de commits do repositório, a qualidade da documentação e como os issues são discutidos por exemplo.
Link para documentação: https://pyjanitor.readthedocs.io/ se vocês forem pesquisar qualquer coisa não é tãaao simples de achar assim, pra chegar no link de funções gerais: https://pyjanitor.readthedocs.io/reference/general_functions.html isso é ruim para um iniciante, acho deveria ser uns dos primeiros links.
Minha avaliação da lib: 4/5
Se você quiser ver e reproduzir o tutorial, só ir no código-fonte no meu github: https://github.com/fbormann/blog-posts/tree/library-pyjanitor