Python para Análise de Dados – 3ª Edição
Tratamento de dados com pandas, NumPy & Jupyter
Descrição do livro
Adquira o manual definitivo para manipulação, processamento, limpeza e extração de informações de conjuntos de dados em Python. Atualizada para Python 3.10 e pandas 1.4, a terceira edição deste guia dinâmico vem com estudos de casos práticos que mostram como resolver um amplo conjunto de problemas de análise de dados de maneira eficaz. Durante o processo, você conhecerá as últimas versões do pandas, NumPy e Jupyter.
Escrito por Wes McKinney, o criador do projeto pandas, este livro é uma introdução prática e moderna às ferramentas de ciência de dados em Python. Ele é ideal para analistas iniciantes em Python e para programadores Python iniciantes em ciência de dados e computação científica. Arquivos de dados e materiais relacionados estão disponíveis no GitHub.
• Use o Jupyter Notebook e o shell IPython para computação exploratória.• Aprenda recursos básicos e avançados do NumPy.
• Comece a usar as ferramentas de análise de dados da biblioteca pandas.
• Use ferramentas flexíveis para carregar, limpar, transformar, mesclar e reformatar dados.
• Crie visualizações informativas com o matplotlib.
• Aplique o recurso groupBy do pandas para detalhar e resumir conjuntos de dados.
• Analise e manipule dados de séries temporais regulares e irregulares.
• Aprenda a resolver problemas de análise de dados do mundo real com exemplos completos e detalhados.
Ver menos ▲Sumário
- Prefácio
- Capítulo 1 ■ Introdução
- 1.1 Sobre o que é este livro?
- Quais são os tipos de dados?
- 1.2 Por que Python para a análise de dados?
- Python como aglutinador
- Resolvendo o problema de “duas linguagens”
- Por que não Python?
- 1.3 Bibliotecas Python essenciais
- NumPy
- pandas
- matplotlib
- IPython e Jupyter
- SciPy
- scikit-learn
- statsmodels
- Outros pacotes
- 1.4 Instalação e configuração
- Miniconda no Windows
- GNU/Linux
- Miniconda no macOS
- Instalação dos pacotes necessários
- Ambientes de desenvolvimento integrado e editores de texto
- 1.5 Comunidade e conferências
- 1.6 Navegação no livro
- Exemplos de código
- Dados dos exemplos
- Convenções de importação
- Capítulo 2 ■ Aspectos básicos da linguagem Python, IPython e Jupyter Notebooks
- 2.1 Interpretador Python
- 2.2 Aspectos básicos do IPython
- Execução do shell IPython
- Execução do Jupyter Notebook
- Preenchimento automático com tabulação
- Introspecção
- 2.3 Aspectos básicos da linguagem Python
- Semântica da linguagem
- Tipos escalares
- Controle de fluxo
- 2.4 Conclusão
- Capítulo 3 ■ Estruturas de dados, funções e arquivos internos
- 3.1 Estruturas de dados e sequências
- Tupla
- Lista
- Dicionário
- Conjunto
- Funções de sequência internas
- List, set e dictionary comprehensions
- 3.2 Funções
- Namespaces, escopo e funções locais
- Retorno de vários valores
- Funções são objetos
- Funções anônimas (lambdas)
- Geradores
- Erros e manipulação de exceções
- 3.3 Arquivos e o sistema operacional
- Bytes e Unicode com arquivos
- 3.4 Conclusão
- Capítulo 4 ■ Aspectos básicos do NumPy: arrays e computação vetorizada
- 4.1 ndarray do NumPy: um objeto de array multidimensional
- Criação de ndarrays
- Tipos de dados para ndarrays
- Aritmética com arrays NumPy
- Indexação e fatiamento básicos
- Indexação booleana
- Indexação sofisticada
- Transposição de arrays e troca de eixos
- 4.2 Geração de números pseudoaleatórios
- 4.3 Funções universais: funções rápidas de arrays para todos os elementos
- 4.4 Programação orientada a arrays
- Expressão da lógica condicional como operações com arrays
- Métodos matemáticos e estatísticos
- Métodos para arrays booleanos
- Ordenação
- Unicidade e outras lógicas de conjuntos
- 4.5 Entrada e saída de arquivos com arrays
- 4.6 Álgebra linear
- 4.7 Exemplo: passeios aleatórios
- Simulação de muitos passeios aleatórios ao mesmo tempo
- 4.8 Conclusão
- Capítulo 5 ■ Introdução ao pandas
- 5.1 Introdução às estruturas de dados do pandas
- Series
- DataFrame
- Objetos Index
- 5.2 Funcionalidades essenciais
- Reindexação
- Remoção de entradas de um eixo
- Indexação, seleção e filtragem
- Aritmética e alinhamento de dados
- Aplicação de funções e mapeamento
- Ordenação e classificação
- Índices de eixos com rótulos duplicados
- 5.3 Síntese e cálculo de estatísticas descritivas
- Correlação e Covariância
- Valores únicos, contagens de valores e pertencimento
- 5.4 Conclusão
- Capítulo 6 ■ Carregamento de dados, armazenamento e formatos de arquivos
- 6.1 Leitura e escrita de dados no formato texto
- Leitura de arquivos de texto por partes
- Gravação de dados em formato texto
- Trabalho com outros formatos delimitados
- Dados JSON
- XML e HTML: web scraping
- 6.2 Formatos de dados binários
- Leitura de arquivos do Microsoft Excel
- Uso do formato HDF5
- 6.3 Interação com web APIs
- 6.4 Interação com bancos de dados
- 6.5 Conclusão
- Capítulo 7 ■ Limpeza e preparação dos dados
- 7.1 Manipulação de dados ausentes
- Filtragem de dados ausentes
- Preenchendo dados ausentes
- 7.2 Transformação de dados
- Remoção de duplicidades
- Transformação de dados com o uso de uma função ou mapeamento
- Substituição de valores
- Renomeação dos índices dos eixos
- Discretização e compartimentalização (binning)
- Detecção e fitragem de valores discrepantes
- Permutação e amostragem aleatória
- Cálculo de variáveis indicadoras/dummy
- 7.3 Tipos de dados de extensão
- 7.4 Manipulação de strings
- Métodos internos dos objetos de string do Python
- Expressões regulares
- Funções de string do pandas
- 7.5 Dados categóricos
- Histórico e motivação
- Tipo de extensão Categorical do pandas
- Computações com categóricos
- Métodos categóricos
- 7.6 Conclusão
- Capítulo 8 ■ Tratamento de dados: junção, combinação e reformatação
- 8.1 Indexação hierárquica
- Reorganização e ordenação de níveis
- Síntese estatística por nível
- Indexação com as colunas de um DataFrame
- 8.2 Combinação e mesclagem de conjuntos de dados
- Junções no DataFrame no estilo de bancos de dados
- Mesclagem baseada no índice
- Concatenação ao longo de um eixo
- Combinação de dados com sobreposição
- 8.3 Reformatação e pivotamento
- Reformatação com indexação hierárquica
- Pivotamento do formato “longo” para o formato “largo”
- Pivotamento do formato “largo” para o formato “longo”
- 8.4 Conclusão
- Capítulo 9 ■ Plotagem e visualização
- 9.1 Introdução rápida à API do matplotlib
- Figuras e subplotagens
- Cores, marcadores e estilos de linha
- Marcações, rótulos e legendas
- Anotações e desenhos em uma subplotagem
- Como salvar as plotagens em arquivo
- Configuração do matplotlib
- 9.2 Plotagem com o pandas e o seaborn
- Plotagens de linha
- Plotagens de barras
- Histogramas e plotagens de densidade
- Plotagens de dispersão ou de pontos
- Grades de faceta e dados categóricos
- 9.3 Outras ferramentas de visualização do Python
- 9.4 Conclusão
- Capítulo 10 ■ Agregação de dados e operações de grupo
- 10.1 Como considerar as operações de grupo
- Iterando por grupos
- Seleção de uma coluna ou de um subconjunto de colunas
- Agrupamento com dicionários e Series
- Agrupamento com funções
- Agrupamento por níveis de índice
- 10.2 Agregação de dados
- Aplicação de uma função às colunas e aplicação de várias funções
- Retorno de dados agregados sem índices de linha
- 10.3 Método apply: dividir-aplicar-combinar genérico
- Supressão das chaves de grupo
- Análise de quantis e de buckets
- Exemplo: preenchimento de valores ausentes com valores específicos de grupo
- Exemplo: amostragem aleatória e permutação
- Exemplo: média ponderada de grupos e correlação
- Exemplo: regressão linear nos grupos
- 10.4 Transformações de grupos e GroupBys “não encapsulados”
- 10.5 Tabelas dinâmicas e tabulação cruzada
- Tabulações cruzadas: crosstab
- 10.6 Conclusão
- Capítulo 11 ■ Séries temporais
- 11.1 Tipos de dados e ferramentas de data e hora
- Conversão entre string e datetime
- 11.2 Aspectos básicos das séries temporais
- Indexação, seleção e criação de subconjuntos
- Séries temporais com índices duplicados
- 11.3 Intervalos de datas, frequências e deslocamentos
- Geração de intervalos de datas
- Frequências e offset de datas
- Deslocamento de datas (adiantando e atrasando)
- 11.4 Manipulação de fusos horários
- Localização e conversão dos fusos horários
- Operações com objetos Timestamp que consideram fusos horários
- Operações entre fusos horários diferentes
- 11.5 Períodos e aritmética com períodos
- Conversão de frequência de períodos
- Frequências de período trimestrais
- Conversão de timestamps para períodos (e vice-versa)
- Criação de um PeriodIndex a partir de arrays
- 11.6 Reamostragem e conversão de frequências
- Downsampling
- Upsampling e interpolação
- Reamostragem com períodos
- Reamostragem de tempo em grupos
- 11.7 Funções de janela móvel
- Funções exponencialmente ponderadas
- Funções de janela móvel binárias
- Funções de janela móvel definidas pelo usuário
- 11.8 Conclusão
- Capítulo 12 ■ Introdução às bibliotecas de modelagem em Python
- 12.1 Interface entre o pandas e o código dos modelos
- 12.2 Criação de descrições de modelos com o Patsy
- Transformações de dados em fórmulas do Patsy
- Dados categóricos e o Patsy
- 12.3 Introdução ao statsmodels
- Estimativa de modelos lineares
- Estimativas de processos de séries temporais
- 12.4 Introdução ao scikit-learn
- 12.5 Conclusão
- Capítulo 13 ■ Exemplos de análise de dados
- 13.1 Dados de 1 USA gov do Bitly
- Contagem de fusos horários em Python puro
- Contagem de fusos horários com o pandas
- 13.2 Conjunto de dados MovieLens 1M
- Medição da discrepância nas avaliações
- 13.3 Nomes de bebês americanos de 1880 a 2010
- Análise das tendências para os nomes
- 13.4 Banco de dados de alimentos do USDA
- 13.5 Banco de dados da Federal Election Commission em 2012
- Estatísticas de doações por profissão e empregador
- Separando os valores das doações em buckets
- Estatísticas das doações por estado
- 13.6 Conclusão
- Apêndice A ■ NumPy avançado
- A 1 Organização interna do objeto ndarray
- Hierarquia de tipos de dados do NumPy
- A 2 Manipulação avançada de arrays
- Redefinição do formato de arrays
- Ordem C versus ordem FORTRAN
- Concatenação e divisão de arrays
- Repetição de elementos: tile e repeat
- Equivalentes à indexação sofisticada: take e put
- A 3 Broadcasting
- Broadcasting em outros eixos
- Definição de valores de arrays por broadcasting
- A 4 Uso avançado das ufuncs
- Métodos de instância das ufuncs
- Criação de novas ufuncs em Python
- A 5 Arrays estruturados e de registros
- Tipos de dados aninhados e campos multidimensionais
- Por que usar arrays estruturados?
- A 6 Mais detalhes sobre ordenação
- Ordenações indiretas: argsort e lexsort
- Algoritmos de ordenação alternativos
- Ordenação parcial de arrays
- numpy searchsorted: encontrando elementos em um array ordenado
- A 7 Criação de funções rápidas do NumPy com o Numba
- Criação de objetos numpy ufunc personalizados com o Numba
- A 8 Operações avançadas de entrada e saída com arrays
- Arquivos mapeados em memória
- HDF5 e outras opções de armazenamento de arrays
- A 9 Dicas de desempenho
- Importância da memória contígua
- Apêndice B ■ Mais sobre o sistema IPython
- B 1 Atalhos de teclado no terminal
- B 2 Sobre os comandos mágicos
- Comando %run
- Execução de código da área de transferência
- B 3 Uso do histórico de comandos
- Pesquisa e reutilização do histórico de comandos
- Variáveis de entrada e de saída
- B 4 Interação com o sistema operacional
- Comandos do shell e aliases
- Sistema de marcadores de diretórios
- B 5 Ferramentas de desenvolvimento de software
- Depurador interativo
- Medição do tempo de execução de um código: %time e %timeit
- Geração básica de perfis: %prun e %run -p
- Geração do perfil de uma função linha a linha
- B 6 Dicas para desenvolvimento de código produtivo com uso do IPython
- Recarregamento de dependências de módulos
- Dicas de design de código
- B 7 Recursos avançados do IPython
- Perfis e configuração
- B 8 Conclusão
- Índice remissivo
Sobre o autor
Wes McKinney é o criador do pandas, a popular biblioteca Python de código aberto para análise de dados. É palestrante ativo e desenvolvedor de código aberto em Python e C++ na comunidade Python de ciência de dados e no Apache Software Foundation. Trabalha como arquiteto de software em Nova York.… Ver perfil completo ▶
Livros relacionados
Recursos
Opinião dos leitores
Angel A G M
Excelente Livro, vale cada centavo do investimento.
ISMENIA B DE M
O livro é bem detalhado. Uma boa aquisição.






