get_prediction returns mean and a confidence interval for new rows.
Goal
Predict shillings at 10 units.
import pandas as pd
import statsmodels.api as sm
df = pd.DataFrame({'units': [12, 9, 3, 7, 11], 'shillings': [126.0, 94.5, 31.5, 73.5, 115.5]})
fit = sm.OLS(df['shillings'], sm.add_constant(df['units'])).fit()
pred = fit.get_prediction([1, 10])
print(pred.predicted_mean.round(2))
print(pred.conf_int().round(2))import pandas as pd
import statsmodels.api as sm
fit = sm.OLS([2, 4, 6], sm.add_constant([1, 2, 3])).fit()
print(fit.predict([1, 4]).round(3))import pandas as pd
import statsmodels.formula.api as smf
df = pd.DataFrame({'x': [1, 2, 3], 'y': [1, 2, 3]})
print(smf.ols('y ~ x', data=df).fit().predict(pd.DataFrame({'x': [10]})))import pandas as pd
import statsmodels.api as sm
fit = sm.OLS([1, 2, 3], sm.add_constant([1, 2, 3])).fit()
print(fit.fittedvalues.tolist())