Fala, pessoal! Tudo bem? Hoje vou trazer pra vocês alguns módulos do PyData Stack, conjunto de ferramentas do Python voltadas para análise de dados e machine learning.
Dentre os principais pacotes que formam o stack de ciência de dados do Python, estão o NumPy, Pandas, Matplotlib, SciPy, Scikit-Learn, Bokeh, StatsModels e o Seaborn. Pretendo mostrar um pouco de cada um deles nesta sequência de posts.
Lembrando que, caso você já utilize o Anaconda, todos os pacotes citados acima já estão inclusos.
NumPy
O NumPy é um pacote voltado para computação matemática, e um dos mais importantes do PyData Stack. Ele oferece as bases matemáticas necessárias para construção de modelos de deep learning, machine learning e, consequentemente, aplicações de inteligência artificial. É possível utilizar os objetos nativos do NumPy para criação arrays ou matrizes, e assim usufruir das funções matemáticas oferecidas para operações com esses objetos.
Vamos começar importando o NumPy. Também é possível utilizar: from numpy import * . Isso evitará a utilização de np., mas este comando importará todos os módulos do NumPy.
# Importando o NumPy
import numpy as np
Agora vamos criar uma matriz e utilizar alguns dos métodos fornecidos pelo NumPy:
# Criando uma matriz a partir de uma lista de listas
lista = [[13,81,22], [0, 34, 59], [21, 48, 94]]
matriz = np.matrix(lista)
type(matriz)
#=> numpy.matrixlib.defmatrix.matrix
# Formato da matriz
np.shape(matriz)
#=> (3, 3)
print(matriz.dtype)
#=> int64
Também podemos utilizar o NumPy para realizar operações estatísticas, embora tenhamos outros pacotes do Python para isso, como por exemplo, o StatsModel, do qual irei falar na continuação deste post. Vamos ao exemplo:
A = np.array([15, 23, 63, 94, 75])
# Calculando a média dos valores
np.mean(A)
#=> 54.0
# Calculando o desvio padrão (variação ou dispersão que existe em relação à média ou valor esperado)
np.std(A)
#=> 30.34468652004828
# Calculando a variância
np.var(A)
#=> 920.8
Pandas
O Pandas é uma espécie de Excel para linguagem Python, com o qual é possível manipular dados estruturados das mais variadas formas. Ele é um dos componentes principais no portifólio Python para realizar análise de dados, por tornar mais simples o “slice and dice” (fatiamento dos dados em diferentes perspectivas), além de seleção e agregações de subsets de dados.
Agora, vejamos como criar e manipular dataframes usando o Pandas. Dataframes são estruturas muito similares a uma planilha de Excel, ou uma tabela em um banco de dados relacional: possui linhas e colunas, onde são armazenados dados estruturados.
from pandas import DataFrame
data = {'Estado': ['Santa Catarina', 'Paraná', 'Goiás', 'Bahia'],
'Ano': [2002, 2003, 2004, 2005],
'População': [1.5, 1.7, 3.6, 2.4]}
frame = DataFrame(data)
frame
#=> Estado Ano População
# 0 Santa Catarina 2002 1.5
# 1 Paraná 2003 1.7
# 2 Goiás 2004 3.6
# 3 Bahia 2005 2.4
type(frame)
#=> pandas.core.frame.DataFrame
frame['Estado']
#=> 0 Santa Catarina
# 1 Paraná
# 2 Goiás
# 3 Bahia
# Resumo do Dataframe
frame.describe()
#=> Ano População
# count 4.000000 4.000000
# mean 2003.500000 2.300000
# std 1.290994 0.948683
# min 2002.000000 1.500000
# 25% 2002.750000 1.650000
# 50% 2003.500000 2.050000
# 75% 2004.250000 2.700000
# max 2005.000000 3.600000
frame.values
#=> array([['Santa Catarina', 2002, 1.5],
# ['Paraná', 2003, 1.7],
# ['Goiás', 2004, 3.6],
# ['Bahia', 2005, 2.4]], dtype=object)
# Visualizando uma coluna index
print(frame.set_index('Ano'))
#=> Estado População
# Ano
# 2002 Santa Catarina 1.5
# 2003 Paraná 1.7
# 2004 Goiás 3.6
# 2005 Bahia 2.4
No próximo post, irei falar um pouco sobre os demais pacotes do PyData Stack, com mais alguns exemplos! Até mais! 👨💻🐍