|
| 1 | +import pandas as pd |
| 2 | +import seaborn as sns |
| 3 | +import numpy as np |
| 4 | + |
| 5 | +url_data = 'https://github.com/alura-cursos/imersaodados3/blob/main/dados/dados_experimentos.zip?raw=true' |
| 6 | + |
| 7 | +dados = pd.read_csv(url_data, compression='zip') |
| 8 | + |
| 9 | +# Proporção dos valores pela linha |
| 10 | +pd.crosstab([dados['dose'], dados['tempo']], dados['tratamento'], normalize='index') |
| 11 | + |
| 12 | +#Normalizando pela coluna |
| 13 | +pd.crosstab([dados['dose'], dados['tempo']], dados['tratamento'], normalize='columns') |
| 14 | + |
| 15 | +#Usando o groupby() |
| 16 | +pd.crosstab([dados['dose'], dados['tempo']], dados['tratamento'], normalize='index').groupby('dose').count() |
| 17 | + |
| 18 | +com_droga = dados[dados['tratamento']=='com_droga'].groupby(['dose','tempo']).count()['tratamento'] |
| 19 | +com_controle = dados[dados['tratamento']=='com_controle'].groupby(['dose','tempo']).count()['tratamento'] |
| 20 | + |
| 21 | +concat = pd.concat([com_controle, com_droga], axis=1) #Juntando as duas tabelas |
| 22 | +concat.columns = ['com_controle', 'com_droga'] #Renomeando as colunas |
| 23 | +concat.div(concat.sum(axis=1), axis=0) #Dados normalizados |
| 24 | + |
| 25 | +pd.crosstab([dados['tratamento'], dados['dose']], dados['tempo'], normalize='index') |
| 26 | +pd.crosstab(dados['tratamento'], dados['tempo'], normalize='index').groupby('tratamento').mean() |
| 27 | + |
| 28 | +#Usando a aggfunc para pegar os valores menores para o g-10 |
| 29 | +pd.crosstab(dados['dose'], dados['tempo'], values=dados['g-10'], aggfunc='min') |
| 30 | + |
| 31 | +#Usando melt() |
| 32 | +pd.melt(frame=dados, id_vars='g-0', value_vars=['tempo', 'dose']) |
| 33 | + |
| 34 | +sns.scatterplot(x='g-0', y='g-8', data=dados) |
| 35 | +sns.lmplot(data=dados, x='g-44', y='c-13', line_kws={'color': 'red'}) |
| 36 | + |
| 37 | +#Correlação G e C |
| 38 | +corr = dados.loc[:,'g-0':'c-99'].corr() |
| 39 | +corr_cel_gen = corr.loc['g-0':'g-50','c-0':'c-50'] |
| 40 | + |
| 41 | +mask = np.triu(np.ones_like(corr_g, dtype=bool)) |
| 42 | + |
| 43 | +# Set up the matplotlib figure |
| 44 | +f, ax = plt.subplots(figsize=(11, 9)) |
| 45 | + |
| 46 | +# Generate a custom diverging colormap |
| 47 | +cmap = sns.diverging_palette(230, 20, as_cmap=True) |
| 48 | + |
| 49 | +# Draw the heatmap with the mask and correct aspect ratio |
| 50 | +sns.heatmap(corr_cel_gen, cmap=cmap, center=0, |
| 51 | + square=True, linewidths=.5, cbar_kws={"shrink": .5}) |
0 commit comments