Introdução à Análise de Dados com Pandas — o 2° tapa na face

Minhas anotações sobre uma das principais ferramentas de um Cientista de Dados, a linguagem Python e sua fantástica biblioteca Pandas

O que abordaremos aqui?

  • Módulos Python para Análise de Dados
  • Estrutura de Dados
  • Pandas (Excel para programação)

Preciso realmente aprender uma linguagem de programação?

É preciso aprender uma ferramenta analítica.

Data Science é a junção de diferentes áreas de conhecimento e trabalhar como cientista de dados sem conhecer ao menos uma ferramenta analítica não faz nenhum sentido.

Existem algumas ferramentas analíticas, mas as linguagens de programação oferecem uma série de vantagens.

Linguagem R -> Análise Estatística

A linguagem R é uma linguagem estatística com grande foco em análise de dados. Portanto, R pode ser usada em algumas etapas do processo de analytics.

R é excelente em análise estatística e com algoritmos de Machine Learning

Linguagem Python -> Processo Holístico

Linguagem completa, umas das linguagens mais usadas. Foi criada com propósito de uso geral, mas tem evoluído muito no campo de análise de dados através de pacotes e módulos criados especificamente para esse tipo de atividade.

Python é muito eficiente no trabalho de pré-procesamento, aquele que é feito imediatamente antes à criação dos modelos preditivos. Outra vantagem da linguagem Python é poder realizar todo processo, do início ao fim.

Por que aprender linguagem de programação como Ferramenta Analítica?

  • R e Python são linguagens gratuitas e podem ser usadas livremente, reduzindo custos com licenciamento de software, por exemplo.
  • Embora R e Python requeiram mais trabalho manual para criar uma solução de análise, elas oferecem muito mais flexibilidade.
  • Todo o conhecimento adquirido com R e Python, pode ser facilmente aplicado em outras soluções analíticas.
  • Soluções Microsoft, Oracle e IBM, dão suporte a R e Python, como forma de estender as funcionalidades de suas soluções.
  • As duas linguagens possuem uma grande e ativa comunidade e muita documentaçãodisponível.

Por que a linguagem Python para Análise de Dados?

  • Cada vez mais dados para analisar (Big Data)
  • Cada vez menos tempo (Soluções de Análise em Tempo Real)
  • Fácil de Aprender
  • Muito popular
  • De uso geral
  • Linguagem Interpretada

Principais módulos Python para Análise de Dados

Python, quanto linguagem de programação, possui seus comandos e funções built-in. É o que chamamos de linguagem pura.

Pydata Stack

Pydata Stack é um conjunto de pacotes Python específicos para trabalhar com Ciêncida de Dados.

Numpy

Como base desse diagrama temos o NumPy que serve para computação numérica, o NumPy é um dos pacotes mais incríveis da linguagem Python, é um resumo matemático que oferece uma série de funções matemáticas prontas com alta performance.

Praticamente tudo que for feito para data science em Python, o Numpy estará presente de alguma forma, porque ele é a base para outros pacotes.

Scipy, Pandas, Matplotlib e Bokeh

Uma camada logo acima temos o SciPy que é para computação científica, o Pandas que é uma espécie de Excel para linguagem Python e o Matplotlib e o Bokeh que são dois pacotes para visualização de dados para construir gráficos.

Outros pacotes do diagrama

  • scikit-image para visão computacional
  • statsmodels para estatística
  • scikit-learn para machine learning

Tudo que precisamos fazer é instalar o pacote, ao instalarmos o Anaconda já temos os pacotes do PyData Stack e então, começar a usar as funções.

Numpy

Um dos principais pacotes para ciência de dados, significa numerical python é o pacote fundamental para computação matemática em Python.

Dificilmente usaremos o NumPy sozinho, mas sim com outros pacotes Python, uma vez que ele oferece a base fundamental para a construção de estruturas de dados para análise.

O propósito principal do NumPy é servir como um container para os dados, de forma que possamos utilizá-los no processo de análise e ainda manipular os dados entre diferentes algoritmos.

Arrays, a principal estrutura de dados em Numpy

Os arrays em NumPy são muito mais eficientes do que as opções básicas da linguagem Python, ou seja, se desejarmos criar uma lista de dados em Python, podemos fazer isso com Python puro. Se quisermos fazer o mesmo em NumPy, a perfomance será muito melhor, ou seja, aprender a usar o NumPy além de permitir realizar outras atividades em ciência de dados também permite uma performance maior.

Pandas

Pandas é um pacote de análise de dados de alta performance. Com Python podemos criar DataFrames e Séries de dados.

Durante todo o processo de análise, precisamos de DataFrames, tabelas que encontramos em bancos de dados ou tabelas que temos em excel.

DataFrames, a principal estrutura de dados em Pandas

Colocar os dados em DataFrames nos proporciona uma série de habilidades para podermos fatiar, manipular, modificar dados como se estivessemos no excel, só que via programação, além de podermos trabalhar com séries temporais.

Pandas possibilita:

  • Pandas pode processar dados em diferentes formatos, como dados de séries temporais, matrizes, dados estruturados ou não estruturados.
  • Facilita muito o trabalho de carga e importação de dados em arquivos csv. ou de bancos de dados, conseguimos conectar diretamente em bancos de dados e trazemos os dados em formato de dataframe no Pandas e então iniciamos o processo de análise.
  • Fornece funções para as mais variadas etapas de pré-processamento, como: subsetting, slicing, filtros, merge, agrupamentos, ordenação, reshape. Ou seja, uma planilha excel com linhas e colunas onde manipulamos de forma eficiente
  • Permite facilmente tratar dados missing, ou seja, dados não disponíveis, fazer rapidamente o tratamento de objetos criados com o pacote Pandas.
  • Pode ser usado para converter dados, bem como aplicar modelagem estatística.
  • É totalmente integrado com outros pacotes Python, como SciPy, NumPye Scikit-Learn.

Um pouco de Pandas…

Pandas é um pacote para manipulação de dados. Imagine o Microsoft Excel totalmente gratuito e customizável. Pandas possibilita:

  • Manipulação de dados
  • Estruturar dados em tabelas
  • Manipular índices
  • Operações de fatiamento
  • Modificar subconjunto de dados
  • Limpeza de dados
  • Pré-Processamento
  • Modelagem Preditiva

Estruturas de dados em Pandas:

  • pandas.Series() — 1 Dimensão — 1D
  • pandras.DataFrame() — 2 Dimensões — 2D
  • pandas.Panel() — 3 Dimensões — 3D
  • numpy.ndarray() — x Dimensões

Criando um Dicionário

Converter dicionário de Series em DataFrame

Reordenar Índices

Renomear colunas

Chamando atributos do objeto criado

Operações com DataFrame:

Criando um dicionário de medalhas

Dicionários aninhados, dicionário dentro de dicionário.

Converter dicionário para DataFrame — from_dict( )

Verificando o tipo de objeto

Tudo em Python é objeto. Cada tipo de objeto tem atributos e método específicos.

Fatiamento do DataFrame por nome de coluna:

O fatimento do DataFrame busca uma coluna pelo seu nome.

Podemos filtrar utilizando dois nomes de colunas

Os colchetes externos representam a notação de slicing, os colchetes internos representam a lista com strings que representam os nomes das colunas.

Index .loc( ) — Localização por índice

A localização por índice acima indica o segundo índice.

Slicing

Slicing por Indexação

Passamos como parâmetro do atributo loc o nome do índice.

Retornar todas as linhas para a coluna USA.

Mais de um elemento como filtro.

Outro tipo de notação para cruzamento de Prata e China

MÉTODO ILOC É MAIS VELOZ DO QUE LOC

Removendo um elemento do DataFrame

Inserindo um membro no DataFrame

Com a função insert() indica a posição do índice que, no caso, é a primeira posição a inserir, o nome da coluna e os valores.

Ou seja, removemos a coluna USA e inserimos Brasil exatamente na mesma posição.

Resumo Estatístico do DataFrame

Manipulação de dados com Pandas

Panel

Criando conjunto de dados aleatório

Usando a função randint() do pacote random do NumPy.

Criando um DataFrame padrão

Criando um DataFrame na mesma estrutura

Concatenando dois DataFrames

Até aqui abordamos os módulos para análise de dados e uma breve introdução à biblioteca Numpy, Pandas e partir de agora veremos o Pré-Processamento de Dados com Python:

Introdução à Análise de Dados com Pré-Processamento de Dados (um tapa na face III)

Obrigado.

Composing a repository of books (i bought), authors (i follow) & blogs (direct ones) for my own understanding.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store