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("品種和化肥的互動作用對小麥產量沒有顯著影響")