Análise de dados com Python e Pandas

Análise de dados com Python e Pandas Esgotado
× Análise de dados com Python e Pandas

Análise de dados com Python e Pandas

Compartilhar

Autor: Daniel Y. Chen

ISBN impresso: 978-85-7522-699-5
Ano: 2018
Páginas: 432
Preço: R$ 115,00

8 opiniões | Opine sobre este livro

Descrição do livro

Atualmente os analistas devem lidar com dados caracterizados por variedade e volume extraordinários, e com muita rapidez. Utilizando a biblioteca Pandas, é possível usar Python para automatizar e executar tarefas de análise de dados de maneira rápida, não importa quão volumosos ou complexos sejam esses dados. O Pandas pode ajudar a garantir a veracidade de seus dados, visualizá-los para uma tomada de decisão eficaz e reproduzir análises em vários conjuntos de dados de modo confiável.

Análise de dados com Python e Pandas reúne conhecimentos práticos e insights para solucionar problemas reais com o Pandas, mesmo que a análise de dados com Python seja novidade para você. Daniel Y. Chen apresenta conceitos essenciais por meio de exemplos simples e práticos, expandindo-os de modo incremental para resolver problemas mais difíceis do mundo real.

Chen oferece um ponto de partida rápido para o Pandas por meio de um conjunto de dados realista, além de abordar a combinação de conjuntos de dados, o tratamento de dados ausentes e a estruturação de conjuntos de dados com o intuito de facilitar a análise e a visualização. Além disso, mostra técnicas eficazes de limpeza de dados que variam da manipulação básica de strings à aplicação simultânea de funções nos dataframes.

Depois que seus dados estiverem prontos, Chen orientará você na adequação de modelos para previsão, clustering, inferência e exploração. O autor apresenta dicas sobre desempenho e escalabilidade, e introduz você ao ecossistema mais amplo da análise de dados com Python.

ASSUNTOS ABORDADOS

  • Como trabalhar com DataFrames e Series e importar e exportar dados

  • Criação de plotagens com matplotlib, seaborn e Pandas

  • Combinação de conjuntos de dados e tratamento de dados ausentes

  • Reformatação, organização e limpeza de conjuntos de dados para que seja mais fácil trabalhar com eles

  • Conversão de tipos de dados e manipulação de strings de texto

  • Aplicação de funções para escalar as manipulações de dados

  • Agregação, transformação e filtragem de conjuntos de dados volumosos usando groupby

  • Como tirar proveito dos recursos avançados de data e hora do Pandas

  • Adequação de modelos lineares usando as bibliotecas statsmodels e scikit-learn

  • Uso de modelagem linear generalizada para adequação de modelos com diferentes variáveis de resposta

  • Comparação entre vários modelos para selecionar o “melhor”

  • Regularização para evitar a superadequação e melhorar o desempenho

  • Uso de clustering em aprendizado de máquina sem supervisão

Ver menos ▲

Sumário

  • Apresentação
  • Prefácio
  • Agradecimentos
  • Sobre o autor
  • Parte I ■ Introdução
  • Capítulo 1 ■ Básico sobre o DataFrame do Pandas
  • 1.1 Introdução
  • 1.2 Carregando seu primeiro conjunto de dados
  • 1.3 Observando colunas, linhas e células
    • 1.3.1 Obtendo subconjuntos de colunas
    • 1.3.2 Obtendo subconjuntos de linhas
    • 1.3.3 Combinando tudo
  • 1.4 Cálculos agrupados e agregados
    • 1.4.1 Médias agrupadas
    • 1.4.2 Contadores de frequência agrupados
  • 1.5 Plotagem básica
  • 1.6 Conclusão
  • Capítulo 2 ■ Estruturas de dados do Pandas
  • 2.1 Introdução
  • 2.2 Criando seus próprios dados
    • 2.2.1 Criando uma Series
    • 2.2.2 Criando um DataFrame
  • 2.3 Series
    • 2.3.1 Series é semelhante a ndarray
    • 2.3.2 Subconjuntos com booleanos: Series
  • 2.4 DataFrame
    • 2.4.1 Subconjuntos com booleanos: DataFrames
  • 2.5 Fazendo alterações em Series e em DataFrames
    • 2.5.1 Adicionando mais colunas
    • 2.5.2 Alterando diretamente uma coluna
    • 2.5.3 Descartando valores
  • 2.6 Exportando e importando dados
    • 2.6.1 pickle
    • 2.6.2 CSV
    • 2.6.3 Excel
    • 2.6.4 Formato feather para interface com R
    • 2.6.5 Outros tipos de saída de dados
  • 2.7 Conclusão
  • Capítulo 3 ■ Introdução à plotagem
  • 3.1 Introdução
  • 3.2 Matplotlib
  • 3.3 Gráficos estatísticos usando a matplotlib
    • 3.3.1 Univariado
    • 3.3.2 Bivariado
    • 3.3.3 Dados multivariados
  • 3.4 seaborn
    • 3.4.1 Univariado
    • 3.4.2 Dados bivariados
    • 3.4.3 Dados multivariados
  • 3.5 Objetos do Pandas
    • 3.5.1 Histogramas
    • 3.5.2 Plotagem de densidade
    • 3.5.3 Gráfico de dispersão
    • 3.5.4 Plotagem hexbin
    • 3.5.5 Gráfico de caixa
  • 3.6 Temas e estilos do seaborn
  • 3.7 Conclusão
  • Parte II ■ Manipulação de dados
  • Capítulo 4 ■ Preparação dos dados
  • 4.1 Introdução
  • 4.2 Tidy Data
    • 4.2.1 Combinando conjuntos de dados
  • 4.3 Concatenação
    • 4.3.1 Adicionando linhas
    • 4.3.2 Adicionando colunas
    • 4.3.3 Concatenação com índices diferentes
  • 4.4 Combinando vários conjuntos de dados
    • 4.4.1 Merge um a um
    • 4.4.2 Merge de muitos para um
    • 4.4.3 Merge de muitos para muitos
  • 4.5 Conclusão
  • Capítulo 5 ■ Dados ausentes
  • 5.1 Introdução
  • 5.2 O que é um valor NaN?
  • 5.3 De onde vêm os valores ausentes?
    • 5.3.1 Carga de dados
    • 5.3.2 Dados combinados
    • 5.3.3 Valores de entrada do usuário
    • 5.3.4 Reindexação
  • 5.4 Trabalhando com dados ausentes
    • 5.4.1 Encontrando e contando dados ausentes
    • 5.4.2 Limpando dados ausentes
    • 5.4.3 Cálculos com dados ausentes
  • 5.5 Conclusão
  • Capítulo 6 ■ Tidy data (dados organizados)
  • 6.1 Introdução
  • 6.2 Colunas contêm valores, e não variáveis
    • 6.2.1 Mantendo uma coluna fixa
    • 6.2.2 Mantendo várias colunas fixas
  • 6.3 Colunas contendo diversas variáveis
    • 6.3.1 Separar e adicionar colunas individualmente (método simples)
    • 6.3.2 Separar e combinar em um único passo (método simples)
    • 6.3.3 Separar e combinar em um único passo (método mais complicado)
  • 6.4 Variáveis tanto em linhas quanto em colunas
  • 6.5 Várias unidades de observação em uma tabela (normalização)
  • 6.6 Unidades de observação em várias tabelas
    • 6.6.1 Carregando vários arquivos usando um laço
    • 6.6.2 Carregando vários arquivos usando uma list comprehension
  • 6.7 Conclusão
  • Parte III ■ Manipulação de dados
  • Capítulo 7 ■ Tipos de dados
  • 7.1 Introdução
  • 7.2 Tipos de dados
  • 7.3 Convertendo tipos
    • 7.3.1 Convertendo para objetos string
    • 7.3.2 Convertendo para valores numéricos
  • 7.4 Dados categorizados
    • 7.4.1 Conversão para categoria
    • 7.4.2 Manipulando dados categorizados
  • 7.5 Conclusão
  • Capítulo 8 ■ Strings e dados do tipo texto
  • 8.1 Introdução
  • 8.2 Strings
    • 8.2.1 Obtendo subconjuntos e fatiando strings
    • 8.2.2 Obtendo o último caractere de uma string
  • 8.3 Métodos de string
  • 8.4 Outros métodos de string
    • 8.4.1 Método join
    • 8.4.2 Método splitlines
  • 8.5 Formatação de strings
    • 8.5.1 Formatação de strings personalizada
    • 8.5.2 Formatação de strings de caracteres
    • 8.5.3 Formatação de números
    • 8.5.4 Formatação no estilo do printf de C
    • 8.5.5 Strings literais formatadas em Python 3.6+
  • 8.6 Expressões regulares (RegEx)
    • 8.6.1 Correspondência de padrão
    • 8.6.2 Encontrando um padrão
    • 8.6.3 Substituindo um padrão
    • 8.6.4 Compilando um padrão
  • 8.7 Biblioteca regex
  • 8.8 Conclusão
  • Capítulo 9 ■ Apply
  • 9.1 Introdução
  • 9.2 Funções
  • 9.3 apply (básico)
    • 9.3.1 apply em uma Series
    • 9.3.2 apply em um DataFrame
  • 9.4 apply (mais avançado)
    • 9.4.1 Operações em colunas
    • 9.4.2 Operações em linhas
  • 9.5 Funções vetorizadas
    • 9.5.1 Usando o numpy
    • 9.5.2 Usando a biblioteca numba
  • 9.6 Funções lambda
  • 9.7 Conclusão
  • Capítulo 10 ■ Operações groupby: separar–aplicar–combinar
  • 10.1 Introdução
  • 10.2 Agregação
    • 10.2.1 Agregação básica com agrupamento de uma única variável
    • 10.2.2 Métodos de agregação embutidos
    • 10.2.3 Funções de agregação
    • 10.2.4 Várias funções simultaneamente
    • 10.2.5 Usando um dicionário em agg/aggregate
  • 10.3 Transformação
    • 10.3.1 Exemplo com escore z
  • 10.4 Filtragem
  • 10.5 Objeto pandas core groupby DataFrameGroupBy
    • 10.5.1 Grupos
    • 10.5.2 Cálculos com grupos envolvendo diversas variáveis
    • 10.5.3 Selecionando um grupo
    • 10.5.4 Iterando nos grupos
    • 10.5.5 Vários grupos
    • 10.5.6 Obtendo resultados planos
  • 10.6 Trabalhando com MultiIndex
  • 10.7 Conclusão
  • Capítulo 11 ■ Tipo de dado datetime
  • 11.1 Introdução
  • 11.2 Objeto datetime de Python
  • 11.3 Conversão para datetime
  • 11.4 Carregando dados que incluam datas
  • 11.5 Extraindo componentes de datas
  • 11.6 Cálculos com datas e timedeltas
  • 11.7 Métodos de datetime
  • 11.8 Obtendo dados de ações
  • 11.9 Obtendo subconjuntos de dados com base em datas
    • 11.9.1 Objeto DatetimeIndex
    • 11.9.2 Objeto TimedeltaIndex
  • 11.10 Intervalos de datas
    • 11.10.1 Frequências
    • 11.10.2 Offsets
  • 11.11 Deslocando valores
  • 11.12 Reamostragem
  • 11.13 Fusos horários
  • 11.14 Conclusão
  • Parte IV ■ Modelagem de dados
  • Capítulo 12 ■ Modelos lineares
  • 12.1 Introdução
  • 12.2 Regressão linear simples
    • 12.2.1 Usando a statsmodels
    • 12.2.2 Usando a sklearn
  • 12.3 Regressão múltipla
    • 12.3.1 Usando a statsmodels
    • 12.3.2 Usando a statsmodels com variáveis categorizadas
    • 12.3.3 Usando a sklearn
    • 12.3.4 Usando a sklearn com variáveis categorizadas
  • 12.4 Mantendo os rótulos dos índices com a sklearn
  • 12.5 Conclusão
  • Capítulo 13 ■ Modelos lineares generalizados
  • 13.1 Introdução
  • 13.2 Regressão logística
    • 13.2.1 Usando a statsmodels
    • 13.2.2 Usando a sklearn
  • 13.3 Regressão de Poisson
    • 13.3.1 Usando a statsmodels
    • 13.3.2 Regressão binomial negativa para superdispersão
  • 13.4 Outros modelos lineares generalizados
  • 13.5 Análise de sobrevivência
    • 13.5.1 Testando as suposições do modelo de Cox
  • 13.6 Conclusão
  • Capítulo 14 ■ Diagnóstico de modelos
  • 14.1 Introdução
  • 14.2 Resíduos
    • 14.2.1 Plotagens q-q
  • 14.3 Comparando vários modelos
    • 14.3.1 Trabalhando com modelos lineares
    • 14.3.2 Trabalhando com modelos GLM
  • 14.4 Validação cruzada k-fold
  • 14.5 Conclusão
  • Capítulo 15 ■ Regularização
  • 15.1 Introdução
  • 15.2 Por que regularizar?
  • 15.3 Regressão LASSO
  • 15.4 Regressão de ridge
  • 15.5 Rede elástica
  • 15.6 Validação cruzada
  • 15.7 Conclusão
  • Capítulo 16 ■ Clustering
  • 16.1 Introdução
  • 16.2 k-means
    • 16.2.1 Redução de dimensões com PCA
  • 16.3 Clustering hierárquico
    • 16.3.1 Clustering completo
    • 16.3.2 Clustering simples
    • 16.3.3 Clustering com médias
    • 16.3.4 Clustering com centroide
    • 16.3.5 Definindo manualmente o limite
  • 16.4 Conclusão
  • Parte V ■ Conclusão
  • Capítulo 17 ■ Vida além do Pandas
  • 17.1 A pilha de processamento (científico)
  • 17.2 Desempenho
    • 17.2.1 Medindo o tempo de execução de seu código
    • 17.2.2 Gerando o perfil de seu código
  • 17.3 Maior e mais rápido
  • Capítulo 18 ■ No caminho para ser autodidata
  • 18.1 É perigoso andar sozinho!
  • 18.2 Meetups locais
  • 18.3 Conferências
  • 18.4 Internet
  • 18.5 Podcasts
  • 18.6 Conclusão
  • Parte VI ■ Apêndices
  • Apêndice A ■ Instalação
  • Apêndice B ■ Linha de comandos
  • Apêndice C ■ Templates de projeto
  • Apêndice D ■ Usando Python
  • Apêndice E ■ Diretórios de trabalho
  • Apêndice F ■ Ambientes
  • Apêndice G ■ Instalação de pacotes
  • Apêndice H ■ Importando bibliotecas
  • Apêndice I ■ Listas
  • Apêndice J ■ Tuplas
  • Apêndice K ■ Dicionários
  • Apêndice L ■ Fatiando valores
  • Apêndice M ■ Laços
  • Apêndice N ■ Comprehensions
  • Apêndice O ■ Funções
  • Apêndice P ■ Intervalos e geradores
  • Apêndice Q ■ Atribuição múltipla
  • Apêndice R ■ ndarray do numpy
  • Apêndice S ■ Classes
  • Apêndice T ■ Odo: o modificador de formato
Ver sumário completo ▼

Sobre o autor

Daniel Y. Chen

DANIEL Y. CHEN é engenheiro de dados e pesquisador associado na Social and Decision Analytics Laboratory, no Biocomplexity Institute da Virginia Tech. Doutorando no programa interdisciplinar em GBCB (Genetics, Bioinformatics & Computational Biology), e está envolvido com The Carpentries como instrutor e mantenedor de aulas. É instrutor do DataCamp… Ver perfil completo ▶

Opinião dos leitores

Guilherme de C F

O livro sobre Python e Ciência de Dados é muito interessante! Como professor, tenho usado bastante em minhas aulas teóricas e práticas!

Hailton D L

Excelente livro!

Francisco A da S F

Livro muito prático, cheio de exemplos e explicações que são fascinantes! Vale a pena a compra!

Elifranio A C

Muito bom livro!

Ver todas ▼