SlideShare uma empresa Scribd logo
1 de 27
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

Mais conteúdo relacionado

Mais procurados

InterCon 2016 - Software as a service usando Go como principal linguagem: os ...
InterCon 2016 - Software as a service usando Go como principal linguagem: os ...InterCon 2016 - Software as a service usando Go como principal linguagem: os ...
InterCon 2016 - Software as a service usando Go como principal linguagem: os ...iMasters
 
Personalizando o ambiente do usuário
Personalizando o ambiente do usuárioPersonalizando o ambiente do usuário
Personalizando o ambiente do usuárioIvani Nascimento
 
algoritimo
algoritimoalgoritimo
algoritimoAmbev
 
Minicurso Python
Minicurso PythonMinicurso Python
Minicurso Pythonrodrigopex
 
O Prazer De Trabalhar Com Python
O Prazer De Trabalhar Com PythonO Prazer De Trabalhar Com Python
O Prazer De Trabalhar Com PythonMarinho Brandão
 
Introdução ao Shell Script (versão estendida)
Introdução ao Shell Script (versão estendida)Introdução ao Shell Script (versão estendida)
Introdução ao Shell Script (versão estendida)Hugo Maia Vieira
 

Mais procurados (11)

InterCon 2016 - Software as a service usando Go como principal linguagem: os ...
InterCon 2016 - Software as a service usando Go como principal linguagem: os ...InterCon 2016 - Software as a service usando Go como principal linguagem: os ...
InterCon 2016 - Software as a service usando Go como principal linguagem: os ...
 
Lista de exercícios em Bash (resolvida)
Lista de exercícios em Bash (resolvida) Lista de exercícios em Bash (resolvida)
Lista de exercícios em Bash (resolvida)
 
Personalizando o ambiente do usuário
Personalizando o ambiente do usuárioPersonalizando o ambiente do usuário
Personalizando o ambiente do usuário
 
algoritimo
algoritimoalgoritimo
algoritimo
 
Saindo da Caverna
Saindo da CavernaSaindo da Caverna
Saindo da Caverna
 
Pilha em C
Pilha em CPilha em C
Pilha em C
 
Pilha
PilhaPilha
Pilha
 
Minicurso Python
Minicurso PythonMinicurso Python
Minicurso Python
 
O Prazer De Trabalhar Com Python
O Prazer De Trabalhar Com PythonO Prazer De Trabalhar Com Python
O Prazer De Trabalhar Com Python
 
Introdução ao Shell Script (versão estendida)
Introdução ao Shell Script (versão estendida)Introdução ao Shell Script (versão estendida)
Introdução ao Shell Script (versão estendida)
 
programação c 10 aula
programação c 10 aulaprogramação c 10 aula
programação c 10 aula
 

Semelhante a Análise de dados do Titanic apenas com Python

Linguagem de Programação Python
Linguagem de Programação PythonLinguagem de Programação Python
Linguagem de Programação PythonJunior Sobrenome
 
Curso de Python (Básico) - Português
Curso de Python (Básico) - PortuguêsCurso de Python (Básico) - Português
Curso de Python (Básico) - PortuguêsHelio Colombe
 
Aula 01 python
Aula 01 pythonAula 01 python
Aula 01 pythonTiago
 
Programando para web com python - Introdução a Python
Programando para web com python - Introdução a PythonProgramando para web com python - Introdução a Python
Programando para web com python - Introdução a PythonAlvaro Oliveira
 
Introducao ao python - Luciana Mota
Introducao ao python - Luciana MotaIntroducao ao python - Luciana Mota
Introducao ao python - Luciana Motalucianacmota
 
Python para desenvolvedores - material apoio (parte I)
Python para desenvolvedores - material apoio (parte I)Python para desenvolvedores - material apoio (parte I)
Python para desenvolvedores - material apoio (parte I)Marcelo Barros de Almeida
 
Programar 1215
Programar  1215Programar  1215
Programar 1215tugafree
 
Revista programar 51
Revista programar 51Revista programar 51
Revista programar 51Renato Lucena
 
Minicurso-Python-01.pptx
Minicurso-Python-01.pptxMinicurso-Python-01.pptx
Minicurso-Python-01.pptxPapirusDig
 
Aula 02 - Análise de Dados - Introdução ao Python.pdf
Aula 02 - Análise de Dados - Introdução ao Python.pdfAula 02 - Análise de Dados - Introdução ao Python.pdf
Aula 02 - Análise de Dados - Introdução ao Python.pdfAcauan Ribeiro
 
Cherrypy - um framework para desenvolvimento rápido de aplicações web
Cherrypy - um framework para desenvolvimento rápido de aplicações webCherrypy - um framework para desenvolvimento rápido de aplicações web
Cherrypy - um framework para desenvolvimento rápido de aplicações webAlvaro Oliveira
 
Automacao com Python.pdf
Automacao com Python.pdfAutomacao com Python.pdf
Automacao com Python.pdfSecont
 
Curso python
Curso pythonCurso python
Curso pythonTiago
 
Introdução ao Deep Learning com o TensorFlow
Introdução ao Deep Learning com o TensorFlowIntrodução ao Deep Learning com o TensorFlow
Introdução ao Deep Learning com o TensorFlowpichiliani
 
Introdução ao Deep Learning com o TensorFlow
Introdução ao Deep Learning com o TensorFlowIntrodução ao Deep Learning com o TensorFlow
Introdução ao Deep Learning com o TensorFlowMauro Pichiliani
 
PL/Python: Programando em Python no PostgreSQL
PL/Python: Programando em Python no PostgreSQLPL/Python: Programando em Python no PostgreSQL
PL/Python: Programando em Python no PostgreSQLJuliano Atanazio
 
Computação Científica com SciPy - Brevíssimo Tutorial
Computação Científica com SciPy - Brevíssimo TutorialComputação Científica com SciPy - Brevíssimo Tutorial
Computação Científica com SciPy - Brevíssimo TutorialFabio Spanhol
 
Trabalho sobre a linguagem Python
Trabalho sobre a linguagem PythonTrabalho sobre a linguagem Python
Trabalho sobre a linguagem PythonRicardo Zalla
 

Semelhante a Análise de dados do Titanic apenas com Python (20)

Linguagem de Programação Python
Linguagem de Programação PythonLinguagem de Programação Python
Linguagem de Programação Python
 
Curso de Python (Básico) - Português
Curso de Python (Básico) - PortuguêsCurso de Python (Básico) - Português
Curso de Python (Básico) - Português
 
Aula 01 python
Aula 01 pythonAula 01 python
Aula 01 python
 
Programando para web com python - Introdução a Python
Programando para web com python - Introdução a PythonProgramando para web com python - Introdução a Python
Programando para web com python - Introdução a Python
 
Introducao ao python - Luciana Mota
Introducao ao python - Luciana MotaIntroducao ao python - Luciana Mota
Introducao ao python - Luciana Mota
 
Python para desenvolvedores - material apoio (parte I)
Python para desenvolvedores - material apoio (parte I)Python para desenvolvedores - material apoio (parte I)
Python para desenvolvedores - material apoio (parte I)
 
Programar 1215
Programar  1215Programar  1215
Programar 1215
 
Revista programar 51
Revista programar 51Revista programar 51
Revista programar 51
 
Minicurso-Python-01.pptx
Minicurso-Python-01.pptxMinicurso-Python-01.pptx
Minicurso-Python-01.pptx
 
Canivete suíço do Python
Canivete suíço do PythonCanivete suíço do Python
Canivete suíço do Python
 
Aula 02 - Análise de Dados - Introdução ao Python.pdf
Aula 02 - Análise de Dados - Introdução ao Python.pdfAula 02 - Análise de Dados - Introdução ao Python.pdf
Aula 02 - Análise de Dados - Introdução ao Python.pdf
 
Cherrypy - um framework para desenvolvimento rápido de aplicações web
Cherrypy - um framework para desenvolvimento rápido de aplicações webCherrypy - um framework para desenvolvimento rápido de aplicações web
Cherrypy - um framework para desenvolvimento rápido de aplicações web
 
Automacao com Python.pdf
Automacao com Python.pdfAutomacao com Python.pdf
Automacao com Python.pdf
 
Workshop Python.2
Workshop Python.2Workshop Python.2
Workshop Python.2
 
Curso python
Curso pythonCurso python
Curso python
 
Introdução ao Deep Learning com o TensorFlow
Introdução ao Deep Learning com o TensorFlowIntrodução ao Deep Learning com o TensorFlow
Introdução ao Deep Learning com o TensorFlow
 
Introdução ao Deep Learning com o TensorFlow
Introdução ao Deep Learning com o TensorFlowIntrodução ao Deep Learning com o TensorFlow
Introdução ao Deep Learning com o TensorFlow
 
PL/Python: Programando em Python no PostgreSQL
PL/Python: Programando em Python no PostgreSQLPL/Python: Programando em Python no PostgreSQL
PL/Python: Programando em Python no PostgreSQL
 
Computação Científica com SciPy - Brevíssimo Tutorial
Computação Científica com SciPy - Brevíssimo TutorialComputação Científica com SciPy - Brevíssimo Tutorial
Computação Científica com SciPy - Brevíssimo Tutorial
 
Trabalho sobre a linguagem Python
Trabalho sobre a linguagem PythonTrabalho sobre a linguagem Python
Trabalho sobre a linguagem Python
 

Análise de dados do Titanic apenas com Python

  • 1. Fazendo análise de dados SÓ com Python (Just Python) Cesar Augusto Bruschetta
  • 2. 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.
  • 3. Mas, por que somente usando Python?
  • 4. 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
  • 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
  • 7. 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...
  • 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)
  • 10. ► 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
  • 11. 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
  • 13. Importação dos Módulos Cesar Augusto Bruschetta
  • 14. Leitura do DataSet Cesar Augusto Bruschetta
  • 15. Exibição dos primeiro dados do DataSet (Like a df.head()) Cesar Augusto Bruschetta
  • 16. Cesar Augusto Bruschetta Dados Principais Absolutos
  • 18. Análise dos Sobreviventes Cesar Augusto Bruschetta
  • 19. Análise dos Dados Agrupados Cesar Augusto Bruschetta
  • 20. Cesar Augusto Bruschetta Saída dos dados agrupados por: Sobreviventes e Sexo
  • 21. Vamos avançar ainda mais? Cesar Augusto Bruschetta
  • 22. 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
  • 23. Agrupando a Idade dos passageiros para o Gráfico Cesar Augusto Bruschetta
  • 24. Função para agrupamento das Idades de 10 em 10 Cesar Augusto Bruschetta
  • 25. E finalmente podemos plotar o gráfico... Cesar Augusto Bruschetta
  • 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