import statsmodels.api as sm
from statsmodels.formula.api import ols
import pandas as pd
df = pd.read_excel('./data1/avg_quations.xlsx')
dataset=df.values
#print ( df)
print (df.groupby('TARGETS').mean())
lm = ols('TARGETS~AVRAGE' , dataset=dataset).FIT()
aov_table = sm.stats.anova_lm(lm, typ=2)
print(aov_table)
提供给ols
的第二个参数应该是data
,而不是dataset
,即:
lm = ols('TARGETS~AVRAGE' , data=dataset).FIT()
或者,您可以将其作为位置参数传递:
lm = ols('TARGETS~AVRAGE' , dataset).FIT()