Fazendo análise de dados SÓ
com Python (Just Python)
Cesar Augusto Bruschetta
Cesar Augusto Bruschetta
Quem sou Eu
Olá, sou o Cesar, tenho 30 anos,
casado, tenho um cachorro... Tenho
quase 10 anos de experiência com
programação em diferentes
linguagens, mas minha maior
habilidade sempre foi com Python.
Adoro tecnologia e o que se pode
fazer com ela, sou curioso,
autodidata. Sou o clássico nerd que
adora trabalhar com novas
linguagens e desafios, não sou de
sair muito para ir em baladas, mas
adoro uma boa conversa, amigos,
risadas, comida, café e uma coca-
cola.
De vez em quando tenho um lado
Gourmet, gosto de cozinhar e
resolvo me aventurar na cozinha.
Mas, por que somente usando Python?
Just Python
● O objetivo é oferecer um espaço
para conferências de python
puro.
● Buscando levar tanto
participantes quanto palestrantes
para fora da zona de conforto
estimulando palestras utilizando
apenas a linguagem Python
preenchendo o tempo e a mente
com novas e empolgantes ideias.
● https://justpython.style/
Cesar Augusto Bruschetta
Cesar Augusto Bruschetta
► Vamos fazer uma pequena demonstração.... Analisar o dataset do naufrágio do
Titanic somente com Python sem utilizar nenhuma lib ou framework.
► Assim deixando com curiosidade para conhecer ou como funcionam as
famosas bibliotecas de análise de dados em python, e também conhecer mais
sobre o que vc pode fazer somente com python
Nosso objetivo
Cesar Augusto Bruschetta
Mas, porque sobre o Titanic?
Cesar Augusto Bruschetta
► É um caso mundialmente
conhecido e marcante.
► Ficou marcado na cultura e além
disso virou um sucesso através do
filme de James Cameron (1997).
► É considerado um dos maiores
desastres da navegação levando a
morte 1514 pessoas.
► Na época o Titanic era conhecido
como o maior avanço tecnológico.
► Entre outras curiosidades e
conspirações...
Cesar Augusto Bruschetta
► Por ser um dataset simples e fácil
de entender, facilitando o
aprendizado e a manipulação dos
dados
► DataSet com poucas colunas e com
nomes até “amigáveis”
► DataSet com “dados válidos” não
necessitando de muitas
transformações ou tratamentos nos
dados
… Maaasss, porque analisar o naufrágio
do Titanic?
► CSV de dados públicos
► Dataset retirado do kaggle (existem
vários exemplos e testes que usam
ele)
Vamos começar?
► csv.DictReader:
► Classe responsável por ler o csv e parsear ele em uma lista de Dicionários
► https://docs.python.org/3/library/csv.html#csv.DictReader
► io.StringIO:
► Classe responsável por receber uma string e retorna um byteIO como um file
► https://docs.python.org/3/library/io.html#io.StringIO
► urllib.request.urlopen:
► Método responsável por fazer uma requisição http e retornar uma string com o body
► https://docs.python.org/3/library/urllib.request.html#urllib.request.urlopen
► itertools.groupby:
► Retorna um iterator agrupando os dados do iterator recebido, com base na chave
fornecida
► https://docs.python.org/3.7/library/itertools.html#itertools.groupby
► operator.itemgetter:
► Retorna uma função que buscará o item informado, tanto um index ou uma chave
► https://docs.python.org/3/library/operator.html#operator.itemgetter
Principais módulos de Python
Cesar Augusto Bruschetta
Principais módulos de Python
► functools.partial:
► Retorna uma nova função que envolve um ou mais parâmetros, assim abstrai os
parâmetros repetidos da função
► https://docs.python.org/3.7/library/functools.html#functools.partial
► filter:
► Retorna um iterável com os item que atenderam a condição apresentada pela
função validadora
► https://docs.python.org/3/library/functions.html#filter
► lambda:
► Cria uma função anônima e simples
► https://docs.python.org/3/tutorial/controlflow.html#lambda-expressions
► sorted:
► Retorne uma nova lista classificada dos itens em iterável.
► https://docs.python.org/3/library/functions.html#sorted
► round:
► Retorna um número float arredondado
► https://docs.python.org/3/library/functions.html#round
Cesar Augusto Bruschetta
Cesar Augusto Bruschetta
Bora codar?
Importação dos Módulos
Cesar Augusto Bruschetta
Leitura do DataSet
Cesar Augusto Bruschetta
Exibição dos primeiro dados do DataSet
(Like a df.head())
Cesar Augusto Bruschetta
Cesar Augusto Bruschetta
Dados Principais Absolutos
Cesar Augusto Bruschetta
Análise dos Sobreviventes
Cesar Augusto Bruschetta
Análise dos Dados Agrupados
Cesar Augusto Bruschetta
Cesar Augusto Bruschetta
Saída dos dados agrupados por:
Sobreviventes e Sexo
Vamos avançar ainda mais?
Cesar Augusto Bruschetta
Projeto utilizando PlainChart
A text-based, no-dependencies, pip-installable, open-source charting utility in
Python.
https://github.com/gduverger/plainchart
Visualização dos dados
Cesar Augusto Bruschetta
Agrupando a Idade dos passageiros para
o Gráfico
Cesar Augusto Bruschetta
Função para agrupamento das Idades de
10 em 10
Cesar Augusto Bruschetta
E finalmente podemos plotar o gráfico...
Cesar Augusto Bruschetta
Perguntas ????
Cesar Augusto Bruschetta
Obrigado....
► https://github.com/cesarbruschetta/palestra-
pyjamas-titanic
► https://gitlab.com/cesarbruschetta
► https://github.com/cesarbruschetta
► https://www.linkedin.com/in/cesarbruschetta/
► https://www.twitter.com/cesarbruschetta/
► Telegram: cesarbruschetta
Cesar Augusto Bruschetta

Fazendo Analise de dados SÓ com Python (Just Python)

  • 1.
    Fazendo análise dedados SÓ com Python (Just Python) Cesar Augusto Bruschetta
  • 2.
    Cesar Augusto Bruschetta Quemsou Eu Olá, sou o Cesar, tenho 30 anos, casado, tenho um cachorro... Tenho quase 10 anos de experiência com programação em diferentes linguagens, mas minha maior habilidade sempre foi com Python. Adoro tecnologia e o que se pode fazer com ela, sou curioso, autodidata. Sou o clássico nerd que adora trabalhar com novas linguagens e desafios, não sou de sair muito para ir em baladas, mas adoro uma boa conversa, amigos, risadas, comida, café e uma coca- cola. De vez em quando tenho um lado Gourmet, gosto de cozinhar e resolvo me aventurar na cozinha.
  • 3.
    Mas, por quesomente usando Python?
  • 4.
    Just Python ● Oobjetivo é oferecer um espaço para conferências de python puro. ● Buscando levar tanto participantes quanto palestrantes para fora da zona de conforto estimulando palestras utilizando apenas a linguagem Python preenchendo o tempo e a mente com novas e empolgantes ideias. ● https://justpython.style/ Cesar Augusto Bruschetta
  • 5.
    Cesar Augusto Bruschetta ►Vamos fazer uma pequena demonstração.... Analisar o dataset do naufrágio do Titanic somente com Python sem utilizar nenhuma lib ou framework. ► Assim deixando com curiosidade para conhecer ou como funcionam as famosas bibliotecas de análise de dados em python, e também conhecer mais sobre o que vc pode fazer somente com python Nosso objetivo
  • 6.
  • 7.
    Mas, porque sobreo Titanic? Cesar Augusto Bruschetta ► É um caso mundialmente conhecido e marcante. ► Ficou marcado na cultura e além disso virou um sucesso através do filme de James Cameron (1997). ► É considerado um dos maiores desastres da navegação levando a morte 1514 pessoas. ► Na época o Titanic era conhecido como o maior avanço tecnológico. ► Entre outras curiosidades e conspirações...
  • 8.
    Cesar Augusto Bruschetta ►Por ser um dataset simples e fácil de entender, facilitando o aprendizado e a manipulação dos dados ► DataSet com poucas colunas e com nomes até “amigáveis” ► DataSet com “dados válidos” não necessitando de muitas transformações ou tratamentos nos dados … Maaasss, porque analisar o naufrágio do Titanic? ► CSV de dados públicos ► Dataset retirado do kaggle (existem vários exemplos e testes que usam ele)
  • 9.
  • 10.
    ► csv.DictReader: ► Classeresponsável por ler o csv e parsear ele em uma lista de Dicionários ► https://docs.python.org/3/library/csv.html#csv.DictReader ► io.StringIO: ► Classe responsável por receber uma string e retorna um byteIO como um file ► https://docs.python.org/3/library/io.html#io.StringIO ► urllib.request.urlopen: ► Método responsável por fazer uma requisição http e retornar uma string com o body ► https://docs.python.org/3/library/urllib.request.html#urllib.request.urlopen ► itertools.groupby: ► Retorna um iterator agrupando os dados do iterator recebido, com base na chave fornecida ► https://docs.python.org/3.7/library/itertools.html#itertools.groupby ► operator.itemgetter: ► Retorna uma função que buscará o item informado, tanto um index ou uma chave ► https://docs.python.org/3/library/operator.html#operator.itemgetter Principais módulos de Python Cesar Augusto Bruschetta
  • 11.
    Principais módulos dePython ► functools.partial: ► Retorna uma nova função que envolve um ou mais parâmetros, assim abstrai os parâmetros repetidos da função ► https://docs.python.org/3.7/library/functools.html#functools.partial ► filter: ► Retorna um iterável com os item que atenderam a condição apresentada pela função validadora ► https://docs.python.org/3/library/functions.html#filter ► lambda: ► Cria uma função anônima e simples ► https://docs.python.org/3/tutorial/controlflow.html#lambda-expressions ► sorted: ► Retorne uma nova lista classificada dos itens em iterável. ► https://docs.python.org/3/library/functions.html#sorted ► round: ► Retorna um número float arredondado ► https://docs.python.org/3/library/functions.html#round Cesar Augusto Bruschetta
  • 12.
  • 13.
  • 14.
    Leitura do DataSet CesarAugusto Bruschetta
  • 15.
    Exibição dos primeirodados do DataSet (Like a df.head()) Cesar Augusto Bruschetta
  • 16.
    Cesar Augusto Bruschetta DadosPrincipais Absolutos
  • 17.
  • 18.
  • 19.
    Análise dos DadosAgrupados Cesar Augusto Bruschetta
  • 20.
    Cesar Augusto Bruschetta Saídados dados agrupados por: Sobreviventes e Sexo
  • 21.
    Vamos avançar aindamais? Cesar Augusto Bruschetta
  • 22.
    Projeto utilizando PlainChart Atext-based, no-dependencies, pip-installable, open-source charting utility in Python. https://github.com/gduverger/plainchart Visualização dos dados Cesar Augusto Bruschetta
  • 23.
    Agrupando a Idadedos passageiros para o Gráfico Cesar Augusto Bruschetta
  • 24.
    Função para agrupamentodas Idades de 10 em 10 Cesar Augusto Bruschetta
  • 25.
    E finalmente podemosplotar o gráfico... Cesar Augusto Bruschetta
  • 26.
  • 27.
    Obrigado.... ► https://github.com/cesarbruschetta/palestra- pyjamas-titanic ► https://gitlab.com/cesarbruschetta ►https://github.com/cesarbruschetta ► https://www.linkedin.com/in/cesarbruschetta/ ► https://www.twitter.com/cesarbruschetta/ ► Telegram: cesarbruschetta Cesar Augusto Bruschetta