Python |
import pandas as pd
import numpy as np
d = np.array([
[28, 22, 31, 19, 26, 30, 25, 26, 21, 23],
[33, 27, 30, 24, 31, 35, 31, 31, 25, 33],
[23, 16, 17, 26, 18, 21, 26, 25, 19, 17]
])
df = pd.DataFrame(d)
df.index=pd.Index(['X','Y','Z'],name='型号')
df.columns=pd.Index(['A','A','A','A','A','B','B','B','B','B'],name='地区')
df
df1 = df.stack().reset_index().rename(columns={0:'销量'})
df1
from statsmodels.formula.api import ols
from statsmodels.stats.anova import anova_lm
model = ols('销量~C(型号) + C(地区)+C(型号):C(地区)', df1).fit()
anova_lm(model)
print(anova_lm(model))
|