9.3 在7个不同实验室中测量某种扑尔敏药片的扑尔敏有效含量(以mg计),得到结果如表格(读取外部表格excel文件,第一行为实验室Lab1到Lab7,每一列下面为有效含量)。画出各实验室测量结果的箱线图,设各样本分布来自正态总体N(μi,σ^2)i为μ的下标,i=1,2,...,7,各样本相互独立,试取显著水平α=0.05检验各实验室测量的扑尔敏的有效含量的均值是否有显著差异
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
from scipy import stats
file_path = '9.3.xlsx'
data = pd.read_excel(file_path, header=0)
labs = ['Lab1', 'Lab2', 'Lab3', 'Lab4', 'Lab5', 'Lab6', 'Lab7']
assert all(lab in data.columns for lab in labs), "Excel文件中的列名与实验室名称不匹配"
plt.figure(figsize=(12, 8))
sns.boxplot(data=data)
plt.xticks(rotation=45)
plt.title('Boxplot of Chlorpheniramine Content Measurements by Laboratory')
plt.xlabel('Laboratory')
plt.ylabel('Chlorpheniramine Content (mg)')
plt.show()
f_stat, p_value = stats.f_oneway(data['Lab1'], data['Lab2'], data['Lab3'], data['Lab4'], data['Lab5'], data['Lab6'], data['Lab7'])
print(f"F-statistic: {f_stat}")
print(f"P-value: {p_value}")
alpha = 0.05
if p_value < alpha:
print("在显著水平α=0.05下,各实验室测量的扑尔敏有效含量的均值有显著差异。")
else:
print("在显著水平α=0.05下,各实验室测量的扑尔敏有效含量的均值没有显著差异。")
print("学号后两位:04")