Histogramas e Gráficos de Caixa
Sobre Histograms
Para avaliar visualmente a distribuição, é necessário construir histogramas. Se as distribuições estiverem distantes do normal, deveremos notá-lo imediatamente.
Hora da imagem! Vamos construir distribuições para dois grupos em um único gráfico.
123456789101112131415161718192021# Import the libraries import pandas as pd import matplotlib.pyplot as plt import seaborn as sns # Read .csv files df_control = pd.read_csv('https://codefinity-content-media.s3.eu-west-1.amazonaws.com/c3b98ad3-420d-403f-908d-6ab8facc3e28/ab_control.csv', delimiter=';') df_test = pd.read_csv('https://codefinity-content-media.s3.eu-west-1.amazonaws.com/c3b98ad3-420d-403f-908d-6ab8facc3e28/ab_test.csv', delimiter=';') # Plotting hists of Impression columns sns.histplot(df_control['Impression'], color='#1e2635', label='Group A') sns.histplot(df_test['Impression'], color='#ff8a00', label='Group B') # Add the legend to the graph plt.legend(title='Groups') plt.xlabel('Impression') plt.ylabel('Frequency') plt.title('Distribution of Impressions') # Show the graph plt.show()
Neste código, utilizamos a função sns.histplot
da biblioteca seaborn
. Passamos a ela a coluna desejada df_control['Impression']
para comparar com df_test['Impression']
.
Essas distribuições são normais? Difícil dizer...
Vamos olhar para box plots:
Sobre Boxplots
12345678910111213141516171819202122232425# Import libraries import pandas as pd import matplotlib.pyplot as plt import seaborn as sns # Read .csv files df_control = pd.read_csv('https://codefinity-content-media.s3.eu-west-1.amazonaws.com/c3b98ad3-420d-403f-908d-6ab8facc3e28/ab_control.csv', delimiter=';') df_test = pd.read_csv('https://codefinity-content-media.s3.eu-west-1.amazonaws.com/c3b98ad3-420d-403f-908d-6ab8facc3e28/ab_test.csv', delimiter=';') # Add to the dataframes columns-labels, which mean belonging to either the control or the test group df_control['group'] = 'Contol group' df_test['group'] = 'Test group' # Concat control and test dataframes df_combined = pd.concat([df_control, df_test]) sns.boxplot(data=df_combined, x='group', y='Impression', palette=['#1e2635', '#ff8a00'], medianprops={'color': 'red'}) # Sign the axes plt.xlabel('') plt.ylabel('Impression') plt.title('Comparison of Impressions') # Show the results plt.show()
Mesmo após boxplots, não está claro se as distribuições são normais.
Para exibir dois boxplots no mesmo gráfico, combinamos os data frames usando a função pd.concat
.
Em seguida, utilizamos a função sns.boxplot
, passando o data frame combinado df_combined
para ela. No eixo x estão os valores da coluna 'Impression'
e, no eixo y, estão os Grupo de Controle e Grupo de Teste. Com a ajuda da biblioteca matplotlib
, assinamos o gráfico e os eixos.
Mesmo após boxplots, não está claro se as distribuições são normais. Mas em normalidade, precisamos ter certeza.
Como fazer isso? Testes estatísticos vêm em nosso auxílio, os quais discutiremos no próximo capítulo.
Obrigado pelo seu feedback!
Pergunte à IA
Pergunte à IA
Pergunte o que quiser ou experimente uma das perguntas sugeridas para iniciar nosso bate-papo
Awesome!
Completion rate improved to 3.23
Histogramas e Gráficos de Caixa
Deslize para mostrar o menu
Sobre Histograms
Para avaliar visualmente a distribuição, é necessário construir histogramas. Se as distribuições estiverem distantes do normal, deveremos notá-lo imediatamente.
Hora da imagem! Vamos construir distribuições para dois grupos em um único gráfico.
123456789101112131415161718192021# Import the libraries import pandas as pd import matplotlib.pyplot as plt import seaborn as sns # Read .csv files df_control = pd.read_csv('https://codefinity-content-media.s3.eu-west-1.amazonaws.com/c3b98ad3-420d-403f-908d-6ab8facc3e28/ab_control.csv', delimiter=';') df_test = pd.read_csv('https://codefinity-content-media.s3.eu-west-1.amazonaws.com/c3b98ad3-420d-403f-908d-6ab8facc3e28/ab_test.csv', delimiter=';') # Plotting hists of Impression columns sns.histplot(df_control['Impression'], color='#1e2635', label='Group A') sns.histplot(df_test['Impression'], color='#ff8a00', label='Group B') # Add the legend to the graph plt.legend(title='Groups') plt.xlabel('Impression') plt.ylabel('Frequency') plt.title('Distribution of Impressions') # Show the graph plt.show()
Neste código, utilizamos a função sns.histplot
da biblioteca seaborn
. Passamos a ela a coluna desejada df_control['Impression']
para comparar com df_test['Impression']
.
Essas distribuições são normais? Difícil dizer...
Vamos olhar para box plots:
Sobre Boxplots
12345678910111213141516171819202122232425# Import libraries import pandas as pd import matplotlib.pyplot as plt import seaborn as sns # Read .csv files df_control = pd.read_csv('https://codefinity-content-media.s3.eu-west-1.amazonaws.com/c3b98ad3-420d-403f-908d-6ab8facc3e28/ab_control.csv', delimiter=';') df_test = pd.read_csv('https://codefinity-content-media.s3.eu-west-1.amazonaws.com/c3b98ad3-420d-403f-908d-6ab8facc3e28/ab_test.csv', delimiter=';') # Add to the dataframes columns-labels, which mean belonging to either the control or the test group df_control['group'] = 'Contol group' df_test['group'] = 'Test group' # Concat control and test dataframes df_combined = pd.concat([df_control, df_test]) sns.boxplot(data=df_combined, x='group', y='Impression', palette=['#1e2635', '#ff8a00'], medianprops={'color': 'red'}) # Sign the axes plt.xlabel('') plt.ylabel('Impression') plt.title('Comparison of Impressions') # Show the results plt.show()
Mesmo após boxplots, não está claro se as distribuições são normais.
Para exibir dois boxplots no mesmo gráfico, combinamos os data frames usando a função pd.concat
.
Em seguida, utilizamos a função sns.boxplot
, passando o data frame combinado df_combined
para ela. No eixo x estão os valores da coluna 'Impression'
e, no eixo y, estão os Grupo de Controle e Grupo de Teste. Com a ajuda da biblioteca matplotlib
, assinamos o gráfico e os eixos.
Mesmo após boxplots, não está claro se as distribuições são normais. Mas em normalidade, precisamos ter certeza.
Como fazer isso? Testes estatísticos vêm em nosso auxílio, os quais discutiremos no próximo capítulo.
Obrigado pelo seu feedback!