Python para Análise de Dados – 3ª Edição

Tratamento de dados com pandas, NumPy & Jupyter

Python para Análise de Dados – 3ª Edição
× Python para Análise de Dados – 3ª Edição

Python para Análise de Dados – 3ª Edição

Compartilhar

Autor: Wes McKinney

ISBN impresso: 978-85-7522-841-8
ISBN ebook: 978-85-7522-842-5
Ano: 2023
Páginas: 624
Preço impresso: R$ 169,00 O ebook deste livro está disponível na Amazon.

2 opiniões | Opine sobre este livro

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
Ver sumário completo ▼

Sobre o autor

Wes McKinney

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 ▶

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.

Ver todas ▼