9.4

import pandas as pd
import statsmodels.api as sm
from statsmodels.formula.api import ols

读取 Excel 文件

data = pd.read_excel('9.4.xlsx')

定义模型

model = ols('产量 ~ C(品种) + C(化肥) + C(品种):C(化肥)', data=data).fit()

进行方差分析

anova_table = sm.stats.anova_lm(model, typ=2)

print(anova_table)

根据 p 值判断是否有显著影响

if anova_table.loc['品种', 'PR(>F)'] < 0.05:
print("品种对小麦产量有显著影响")
else:
print("品种对小麦产量没有显著影响")

if anova_table.loc['化肥', 'PR(>F)'] < 0.05:
print("化肥对小麦产量有显著影响")
else:
print("化肥对小麦产量没有显著影响")

if anova_table.loc['品种:化肥', 'PR(>F)'] < 0.05:
print("品种和化肥的交互作用对小麦产量有显著影响")
else:
print("品种和化肥的交互作用对小麦产量没有显著影响")

posted @ 2024-12-07 14:34  Tsuki*  阅读(41)  评论(0)    收藏  举报