10 Bibliotecas de Data Science para Python Que Ninguém Te Conta
10 Bibliotecas de Data Science para Python Que Ninguém Te Conta
10 Bibliotecas de Data Science para Python Que Ninguém Te Conta
Paulo Vasconcellos
Sep 16 · 9 min read
Há quase um ano eu crie um post falando sobre 10 bibliotecas de Data Science para
Python que ninguém te conta. Desde então, recebi muitos feedbacks positivos de
pessoas que não conheciam as bibliotecas que citei, e sobre como o post as ajudou em
seus projetos. Fico muito feliz em ajudar vocês a descobrirem novas formas de deixar
https://medium.com/data-hackers/mais-10-bibliotecas-de-data-science-para-python-que-ninguém-te-conta-1a636837a404 1/12
9/17/2019 Mais 10 bibliotecas de Data Science para Python que ninguém te conta
seu trabalho mais fluído e acelerado. Pensando nisso, decidi criar mais um artigo
listando outras algumas bibliotecas que você talvez não conheça. Vambora?
Pendulum
Você deixará de odiar operações entre datas em Python
É sempre um saco trabalhar com datas em Python. Bibliotecas built-in como a datetime
até ajudam bastante, mas eu sempre preciso dá aquela pesquisada no Stack Overflow
pra saber coisas que me fazem sentir burro quando descubro a resposta.
Para nos ajudar nisso, existe Pendulum: uma biblioteca feita única e exclusivamente
para fazer operações com datetime sem que a gente perca um ou dois neurônios no
processo.
Melhor que isso, só se tivesse uma lib voltasse no tempo. Peraí, talvez tenha.
https://medium.com/data-hackers/mais-10-bibliotecas-de-data-science-para-python-que-ninguém-te-conta-1a636837a404 2/12
9/17/2019 Mais 10 bibliotecas de Data Science para Python que ninguém te conta
PyOD
Detecte (quase) qualquer outlier
Detecção de outliers pode ser complicado algumas vezes. Nem sempre analisar o
intervalo interquartil em um boxplot vai ser suficiente para identificar um valor
aberrante, principalmente para problemas de Machine Learning. Para esses casos mais
complicados existe o PyOD.
PyOD é uma biblioteca que junta uma série de técnicas para detecção de outlier em
dados multivariados. Uma outra coisa bem legal do PyOD é que ele é uma excelente
opção para quem está lidando com problemas de detecção de anomalias. Dentre
as técnicas que dispõe, PyOD tem desde métodos de PCA até ensembles, e o mais legal é
que eles sempre referenciam os papers que consideraram para implementar cada
opção.
https://medium.com/data-hackers/mais-10-bibliotecas-de-data-science-para-python-que-ninguém-te-conta-1a636837a404 3/12
9/17/2019 Mais 10 bibliotecas de Data Science para Python que ninguém te conta
Site do pyOD
Qgrid
Filtre, explore e limpe Pandas DataFrame facilmente
Eu sei. Se você me conhece, sabe que não sou muito fã de ferramentas point-and-click,
mas nessa aqui eu não tive escolha: Qgrid acelera muito a exploração inicial de
DataFrames.
Geralmente, brinco com o Qgrid logo no começo das minhas análises, só pra dar uma
explorada rápida no DataFrame — quando é grande o suficiente para valer a pena — e
ver se já consigo identificar algo interessante ali. Devo dizer que quase sempre eu
removo a importação do Qgrid após essa fase inicial, mas ele já me ajudou bem em
alguns projetos, além de permitir exploração, filtragem e ordenação de forma fácil caso
queira disponibilizar o notebook para alguém não técnico dar uma olhada.
Github do Qgrid
Vaex
https://medium.com/data-hackers/mais-10-bibliotecas-de-data-science-para-python-que-ninguém-te-conta-1a636837a404 4/12
9/17/2019 Mais 10 bibliotecas de Data Science para Python que ninguém te conta
Já teve que trabalhar naquele dataset gigante e o Pandas crashava dizendo que acabou
com sua memória? É claro que existem dezenas de opções para lidar com isso — o
low_memory do Pandas; ler o arquivo em chunks; Spark; Apache Arrow; rezar um Pai
Nosso, etc. Mas, hoje eu quero trazer mais uma opção para considerar: a lib Vaex.
Trata-se de uma biblioteca que foi feita para visualizar e explorar datasets
tabulares gigantes. Uma das promessas dela é permitir fazer operações de agregação
— média, some, min, … — a uma velocidade de um bilhão de linhas por segundo. É
coisa pra Carvalho!
https://medium.com/data-hackers/mais-10-bibliotecas-de-data-science-para-python-que-ninguém-te-conta-1a636837a404 5/12
9/17/2019 Mais 10 bibliotecas de Data Science para Python que ninguém te conta
points, e que rendeu uma das visualizações mais legais que já vi. Ah, vale lembrar que
ele também possui módulos de Machine Learning, ou seja, é bem completinho.
Github do Vaex
PyOxidizer
E se você pudesse transformar seu código em um arquivo executável?
A parte tensa do PyOxidizer é que você precisa instalar Rust na máquina para utilizá-lo.
A parte boa é que você pode incluí-lo no pipeline do seu código e fazer aquele processo
de Continuos Integration bonito. De toda forma, PyOxidizer é uma opção que te dá mais
versatilidade ao seu trabalho.
Github do PyOxidizer
FACETS
Visualize datasets de Machine Learning
O Google Facets é uma biblioteca que lhe permitirá visualizar seu dataset para ter desde
uma visão geral dos dados até uma visão mais detalhada de cada classe. O Facets
possui duas principais ferramentas que te ajudarão a entender seus dados: a Facets
Overview e a Facets Dive.
https://medium.com/data-hackers/mais-10-bibliotecas-de-data-science-para-python-que-ninguém-te-conta-1a636837a404 6/12
9/17/2019 Mais 10 bibliotecas de Data Science para Python que ninguém te conta
A primeira, como o nome diz, lhe dará uma visão geral do seu dataset, dividindo ele por
cada classe dos seus dados. Por exemplo, para um dataset de previsão de espécie de
planta, para cada espécie ele irá te retornar a quantidade de dados nulos,
frequência, distribuição, dentre outras métricas. Se você leu meu post passado, vai
ver que essa parte do Facets se assemelha muito ao Pandas Profiling. Contudo, o
Pandas Profiling pode ficar um pouco pesado, dependendo do tamanho do seu dataset,
enquanto o Facets, além de lidar com esse problema, divide suas visualizações por cada
classe no seu conjunto de dados.
Já o Facets Dive é onde o nosso amiguinho brilha. Ele cria uma interface onde você
pode explorar e visualizar diferentes combinações de filtro, a fim de analisar como
seu dado está distribuído. Essa ferramenta te ajudará muito a entender o
https://medium.com/data-hackers/mais-10-bibliotecas-de-data-science-para-python-que-ninguém-te-conta-1a636837a404 7/12
9/17/2019 Mais 10 bibliotecas de Data Science para Python que ninguém te conta
Github do Facets
Yellowbrick
Diagnóstico de modelos
https://medium.com/data-hackers/mais-10-bibliotecas-de-data-science-para-python-que-ninguém-te-conta-1a636837a404 8/12
9/17/2019 Mais 10 bibliotecas de Data Science para Python que ninguém te conta
O mais legal do Yellowbrick é que ele funciona como uma extensão do Scikit-
learn. Se você tem conhecimento da biblioteca, brincar com o Yellowbrick não será
problema.
Github do Yellowbrick
Pandarallel
Paralelismo + Pandas = ❤
Se você já teve que fazer uma operação no Pandas que exigia muito da sua CPU, você já
testemunhou seu computador chorar. Pandarallel vem para ajudar nessa operações
onde você mete aquele apply() junto com iterrows() só pra ver o parquinho pegar
fogo. Se liga só nesse benchmark:
https://medium.com/data-hackers/mais-10-bibliotecas-de-data-science-para-python-que-ninguém-te-conta-1a636837a404 9/12
9/17/2019 Mais 10 bibliotecas de Data Science para Python que ninguém te conta
Um detalhe importante sobre a biblioteca — e que está inserido em seu Github também
— é que paralelismo tem um preço. Novos processos são iniciados e há mudanças no
seu código que podem ser significativas. Somente utilize paralelismo quando você
tem uma quantidade de dados que justifique esse custo. Para pouco dado, o bom e
velho código limpo já resolve o problema.
Github do Pandarallel
Luminol
Biblioteca do Linkedin para detecção de Anomalia
https://medium.com/data-hackers/mais-10-bibliotecas-de-data-science-para-python-que-ninguém-te-conta-1a636837a404 10/12
9/17/2019 Mais 10 bibliotecas de Data Science para Python que ninguém te conta
Github do Luminol
O Cookiecutter veio para por ordem na bagunça que é quando cientistas de dados
criam novos projetos de Data Science. Geralmente, cada um tem sua própria
estruturação de projetos, o que dificulta não só contribuição para o projeto, mas
também simplesmente entender onde as coisas estão.
Github do Cookiecutter
https://medium.com/data-hackers/mais-10-bibliotecas-de-data-science-para-python-que-ninguém-te-conta-1a636837a404 11/12
9/17/2019 Mais 10 bibliotecas de Data Science para Python que ninguém te conta
Quer que seu código execute SEMPRE, independente se tiver erro ou não? FUCK IT! É
exatamente isso que essa biblioteca (supostamente) faz. FuckIt.py é uma paródia a
uma lib de mesmo nome para JavaScript que se apresenta como “um rolo compressor
de erros no Python”.
Claro que não recomendo que você entre no Github da biblioteca e instale ela na sua
máquina. Por favor, não insistam. NÃO execute o código abaixo para instalar a
biblioteca:
. . .
E aí, curtiu as dicas de bibliotecas de Data Science para Python? Conhece mais alguma
que não está aqui na lista? Caso queira ficar sabendo sobre mais assuntos relacionados
a ML e DS, me segue lá no Twitter (onde eu falo besteiras) e no Linkedin (onde eu falo
besteiras de forma mais séria). Não esquece de falar que veio pelo blog, tá bom? :)
https://medium.com/data-hackers/mais-10-bibliotecas-de-data-science-para-python-que-ninguém-te-conta-1a636837a404 12/12