вторник, 14 сентября 2021 г.

Box-plot Python

 import pandas as pd

from scipy.stats import t import matplotlib.pyplot as plt array1 = [84.7, 105.0, 98.9, 97.9, 108.7, 81.3, 99.4, 89.4, 93.0, 119.3, 99.2, 99.4, 97.1, 112.4, 99.8, 94.7, 114.0, 95.1, 115.5, 111.5] array2 = [57.2, 68.6, 104.4, 95.1, 89.9, 70.8, 83.5, 60.1, 75.7, 102.0, 69.0, 79.6, 68.9, 98.6, 76.0, 74.8, 56.0, 55.6, 69.4, 59.5] # считаем количество элементов, среднее, стандартное отклонение и стандартную ошибку df = pd.DataFrame({'Выборка1':array1, 'Выборка2':array2}).agg(['mean','std','count','sem']).transpose() df.columns = ['Mx','SD','N','SE'] # рассчитываем 95% интервал отклонения среднего p = 0.95 K = t.ppf((1 + p)/2, df['Mx']-1) df['interval'] = K * df['SE'] #строим графики, boxplot из изначальных данных array1, array2,  доверительные интервалы из датафрейма df fig, (ax1, ax2) = plt.subplots(nrows=1, ncols=2, figsize=(14, 9)) # график boxplot bplot1 = ax1.boxplot([array1, array2], vert=True, # создаем вертикальные боксы patch_artist=True, # для красоты заполним цветом боксы квантилей labels=['Выборка1', 'Выборка2']) # используется для задания значений выборок в случае с boxplot # график доверительных интервалов bplot2 = ax2.errorbar(x=df.index, y=df['Mx'], yerr=df['interval'],\ color="black", capsize=3, marker="s", markersize=4, mfc="red", mec="black", fmt ='o') # раскрасим boxplot colors = ['pink', 'lightgreen'] for patch, color in zip(bplot1['boxes'], colors): patch.set_facecolor(color) # добавим общие для каждого из графиков данные for ax in [ax1, ax2]: ax.yaxis.grid(True) ax.set_title('Температура плавления ДНК двух типов') ax.set_xlabel('Сравнение двух выборок') ax.set_ylabel('Температура F') plt.show()

Средства для сухих волос с нулевым лечебным и разглаживающим эффектом

 Это мои волосы уже последние полгода.  Никогда раньше они не были такими сухими. Но либо у застройщика Лидер групп вода...