In [1]:
# Versão da Linguagem Python
from platform import python_version
print('Versão da Linguagem Python Usada Neste Jupyter Notebook:', python_version())
In [2]:
import numpy as np
import pandas as pd
import random
import warnings
warnings.filterwarnings("ignore")
import matplotlib as mat
import matplotlib.pyplot as plt
%matplotlib inline
In [3]:
np.__version__
Out[3]:
In [4]:
pd.__version__
Out[4]:
In [5]:
mat.__version__
Out[5]:
In [6]:
import seaborn as sea
sea.__version__
Out[6]:
In [7]:
# Carregando um dos datasets que vem com o Seaborn
dados = sea.load_dataset("tips")
In [8]:
dados.head()
Out[8]:
In [9]:
# O método joinplot cria plot de 2 variáveis com gráficos bivariados e univariados
sea.jointplot("total_bill", "tip", dados, kind = 'reg');
In [10]:
# O método lmplot() cria plot com dados e modelos de regressão.
sea.lmplot("total_bill", "tip", dados, col = "smoker");
In [11]:
# Construindo um dataframe com Pandas
df = pd.DataFrame()
In [12]:
# Alimentando o Dataframe com valores aleatórios
df['a'] = random.sample(range(1, 100), 25)
df['b'] = random.sample(range(1, 100), 25)
In [13]:
df.head()
Out[13]:
In [14]:
# Scatter Plot
sea.lmplot('a', 'b', data = df, fit_reg = True);
In [15]:
# Density Plot
sea.kdeplot(df.b);
In [16]:
sea.kdeplot(df.b, df.a);
In [17]:
sea.distplot(df.a);
In [18]:
# Histograma
plt.hist(df.a, alpha = .3)
sea.rugplot(df.a);
In [19]:
# Box Plot
sea.boxplot([df.b, df.a]);
In [20]:
# Violin Plot
sea.violinplot([df.a, df.b]);
In [21]:
# Heatmap
sea.heatmap([df.b, df.a], annot = True, fmt = "d");
In [22]:
# Clustermap
sea.clustermap(df);
In [23]:
# Configurações globais para controlar estilo, tamanho de fonte, cores, etc.
sea.set(context="notebook", style="darkgrid", palette="dark")
In [24]:
# Seaborn possui opções de cores variadas
sea.palplot(sea.color_palette())
sea.palplot(sea.color_palette("husl", 8))
sea.palplot(sea.color_palette("hls", 8))
In [25]:
sea.palplot(sea.color_palette("coolwarm", 7))
In [26]:
sea.palplot(sea.cubehelix_palette(8))
In [27]:
# A função tsplot() foi descontinuada
# O método tsplot cria plots a partir de séries temporais
# gammas = sea.load_dataset("gammas")
# sea.tsplot(gammas, "timepoint", "subject", "ROI", "BOLD signal", color = "muted");
In [28]:
# Histogramas com subsets dos dados
sea.set(style = "darkgrid")
dados = sea.load_dataset("tips")
g = sea.FacetGrid(dados, row = "sex", col = "time", margin_titles = True)
bins = np.linspace(0, 60, 13)
g.map(plt.hist, "total_bill", color = "steelblue", bins = bins, lw = 0);
In [29]:
# Diversos plots simultâneos
sea.set(style = "white", palette = "muted")
f, axes = plt.subplots(2, 2, figsize = (7, 7), sharex = True)
sea.despine(left = True)
rs = np.random.RandomState(10)
b, g, r, p = sea.color_palette("muted", 4)
d = rs.normal(size = 100)
sea.distplot(d, kde = False, color = b, ax = axes[0, 0])
sea.distplot(d, hist = False, rug = True, color = r, ax = axes[0, 1])
sea.distplot(d, hist = False, color = g, kde_kws = {"shade": True}, ax = axes[1, 0])
sea.distplot(d, color = p, ax = axes[1, 1])
plt.setp(axes, yticks = [])
plt.tight_layout()
In [30]:
# Plot com distribuições marginais
from scipy.stats import kendalltau
sea.set(style="ticks")
rs = np.random.RandomState(11)
x = rs.gamma(2, size = 1000)
y = -.5 * x + rs.normal(size = 1000)
sea.jointplot(x, y, kind = "hex", stat_func = kendalltau, color = "#4CB391");
In [31]:
# Regressão Logística
sea.set(style = "darkgrid")
df = sea.load_dataset("titanic")
pal = dict(male = "#6495ED", female = "#F08080")
g = sea.lmplot("age", "survived", col = "sex", hue = "sex", data = df, palette = pal,
y_jitter = .02, logistic = True)
g.set(xlim=(0, 80), ylim = (-.05, 1.05));
In [32]:
# Regressão Linear com Distribuições Marginais
sea.set(style = "darkgrid")
tips = sea.load_dataset("tips")
color = sea.color_palette()[2]
g = sea.jointplot("total_bill", "tip", data = tips, kind = "reg", xlim = (0, 60),
ylim = (0, 12), color = color, size = 7);
In [33]:
# Pair Plots
sea.set(style = "darkgrid")
df = sea.load_dataset("iris")
sea.pairplot(df, hue = "species", size = 2.5);
Conheça a Formação Cientista de Dados, um programa completo, 100% online e 100% em português, com 400 horas, mais de 1.200 aulas em vídeos e 26 projetos, que vão ajudá-lo a se tornar um dos profissionais mais cobiçados do mercado de análise de dados. Clique no link abaixo, faça sua inscrição, comece hoje mesmo e aumente sua empregabilidade:
https://www.datascienceacademy.com.br/pages/formacao-cientista-de-dados