Python para Ciência de Dados
Uma introdução prática
Descrição do livro
Python para Ciência de Dados é o guia perfeito para programadores, pois elenca as melhores maneiras de se utilizar o Python em aplicações orientadas a dados. Repleto de exemplos práticos, este livro oferece um amplo tour pelas habilidades do Python para obter, transformar e analisar dados.
Os leitores conhecerão as robustas estruturas built-in de dados do Python e seu ecossistema poderoso de bibliotecas open source de ciência de dados, incluindo NumPy, pandas, scikit-learn e matplotlib. Como prática, há exemplos de como carregar dados em diversos formatos; streamlining, agrupamento e agregação de conjuntos de dados; e como criar visualizações como gráficos e mapas.
Exemplos detalhados ilustram como criar aplicações de dados do mundo cotidiano, incluindo como fornecer dados geográficos a um app de serviço de táxi, análise de regra de associação de dados de transação para identificar itens comumente comprados juntos e um modelo de aprendizado de máquina para predizer tendências do mercado de ações. Cada capítulo apresenta exercícios que incentivam o leitor a testar as técnicas por conta própria.
Você aprenderá a:
Manipular estruturas de dados com eficiência, como listas, dicionários, arrays do NumPy e DataFrames do pandas.
Mover dados de e para bancos de dados relacionais e NoSQL.
Obter insights acionáveis sobre os dados por meio de agregação, visualização e outros métodos de análise.
Trabalhar com texto simples, dados de GPS, dados de séries temporais, arquivos JSON e CSV e muitos outros tipos e formatos de dados.
Usar o aprendizado de máquina para tarefas de processamento de linguagem natural, como análise de sentimento.
Com o Python para Ciência de Dados, você praticará técnicas modernas de processamento de dados para uso imediato em áreas como gerenciamento de negócios, marketing e finanças. Descubra o poder da linguagem de programação Python.
Ver menos ▲Sumário
Sumário
- Introdução
- Capítulo 1 ■ Conceitos básicos de dados
- Categorias de dados
- Dados não estruturados
- Dados estruturados
- Dados semiestruturados
- Dados de séries temporais
- Fontes de dados
- APIs
- Páginas web
- Banco de dados
- Arquivos
- Pipeline de processamento de dados
- Aquisição
- Limpeza
- Transformação
- Análise
- Armazenamento
- Abordagem pythônica
- Recapitulando
- Capítulo 2 ■ Estruturas de dados do Python
- Listas
- Criando uma lista
- Usando métodos comuns de objetos de lista
- Usando a notação de fatiamento
- Usando uma lista como uma fila
- Usando uma lista como uma pilha
- Usando listas e pilhas para processamento de linguagem natural
- Melhorias com list comprehensions
- Tuplas
- Uma lista de tuplas
- Imutabilidade
- Dicionários
- Lista de dicionários
- Adicionando dados a um dicionário com o método setdefault()
- Carregando arquivos JSON em um dicionário
- Conjuntos
- Removendo duplicações de sequências
- Executando operações comuns de conjunto
- Recapitulando
- Capítulo 3 ■ Bibliotecas de ciência de dados do Python
- NumPy
- Instalando o NumPy
- Criando um array do NumPy
- Executando operações por elemento
- Usando funções estatísticas do NumPy
- pandas
- Instalação do pandas
- Estrutura de dados Series do pandas
- DataFrames do pandas
- scikit-learn
- Instalando o scikit-learn
- Obtendo um conjunto de dados de amostra
- Carregando o conjunto de dados de amostra em um DataFrame do pandas
- conjunto de teste
- Transformando texto em vetores de features numéricas
- Treinando e avaliando um modelo
- Efetuando predições com novos dados
- Recapitulando
- Capítulo 4 ■ Acessando dados a partir de arquivos e de APIs
- Importando dados com a função open() do Python
- Arquivos de texto
- Arquivos de dados tabulares
- Arquivos binários
- Exportando dados para arquivos
- Acessando arquivos remotos e APIs
- Como funcionam as requisições HTTP
- Biblioteca urllib3
- Biblioteca Requests
- Movendo dados a partir de e para um DataFrame
- Importando estruturas aninhadas JSON
- Convertendo um DataFrame em JSON
- Carregando dados online em um DataFrame com a pandas-datareader
- Recapitulando
- Capítulo 5 ■ Trabalhando com bancos de dados
- Bancos de dados relacionais
- Entendendo instruções SQL
- Introdução ao MySQL
- Definindo a estrutura do banco de dados
- Inserindo dados no banco de dados
- Consultando o banco de dados
- Usando ferramentas de análise de banco de dados
- Bancos de dados NoSQL
- Armazenamentos de chave-valor
- Bancos de dados orientados a documento
- Recapitulando
- Capítulo 6 ■ Agregando dados
- Dados para agregação
- Combinando DataFrames
- Agrupamento e agregação dos dados
- Visualizando agregações específicas por MultiIndex
- Fatiando um intervalo de valores agregados
- Fatiamento dentro dos níveis de agregação
- Adicionando um total geral
- Adicionando Subtotais
- Selecionando todas as linhas em um grupo
- Recapitulando
- Capítulo 7 ■ Combinando conjuntos de dados
- Combinando estruturas built-in de dados
- Combinando listas e tuplas com o operador +
- Combinando dicionários com o operador **
- Combinando linhas correspondentes de duas estruturas
- Implementando diferentes tipos de joins para listas
- Concatenando arrays do NumPy
- Combinando estruturas de dados do pandas
- Concatenando DataFrames
- Join de dois DataFrames
- Recapitulando
- Capítulo 8 ■ Criando visualizações
- Visualizações comuns
- Gráficos de linhas
- Gráficos de barras
- Gráficos de pizza
- Histogramas
- Plotando gráficos com a Matplotlib
- Instalando a Matplotlib
- Usando a matplotlib pyplot
- Trabalhando com os objetos Figure e Axes
- Usando outras bibliotecas com a Matplotlib
- Plotando dados do pandas
- Plotando dados geoespaciais com a Cartopy
- Recapitulando
- Capítulo 9 ■ Analisando dados geográficos
- Obtendo os dados geográficos
- Transformando um endereço legível por humanos em coordenadas geográficas
- Obtendo as coordenadas geográficas de um objeto em movimento
- Análise de dados espaciais com geopy e Shapely
- Encontrando o objeto mais próximo
- Encontrando objetos em determinada área
- Combinando ambas as abordagens
- Combinando dados espaciais e não espaciais
- Derivando atributos não espaciais
- Join de conjuntos de dados espaciais e não espaciais
- Recapitulando
- Capítulo 10 ■ Analisando dados de séries temporais
- Série temporal regular vs. irregular
- Técnicas comuns de análise de séries temporais
- Calculando mudanças percentuais
- Cálculos de janela rolante
- Calculando a mudança percentual de uma média móvel
- Séries temporais multivariadas
- Processando séries temporais multivariadas
- Analisando dependências entre variáveis
- Recapitulando
- Capítulo 11 ■ Obtendo insights a partir de dados
- Regras de associação
- Suporte
- Confiança
- Lift
- Algoritmo Apriori
- Criando um conjunto de dados de transação
- Identificando conjuntos de itens frequentes
- Gerando regras de associação
- Visualizando regras de associação
- Obtendo insights acionáveis a partir de regras de associação
- Gerando recomendações
- Planejando descontos com base nas regras da associação
- Recapitulando
- Capítulo 12 ■ Aprendizado de máquina para análise de dados
- Por que aprendizado de máquina?
- Tipos de aprendizado de máquina
- Aprendizado supervisionado
- Aprendizado não supervisionado
- Como funciona o aprendizado de máquina
- Dados para aprender
- Modelo estatístico
- Dados desconhecidos
- Exemplo de análise de sentimentos: classificando avaliações de produtos
- Obtendo avaliações de produtos
- Limpando os dados
- Dividindo e transformando os dados
- Treinando o modelo
- Avaliando o modelo
- Predizendo tendências de ações
- Obtendo os dados
- Derivando features de dados contínuos
- Gerando a variável de saída
- Treinando e avaliando o modelo
- Recapitulando
- Índice remissivo






