title: PatsyError: Error evaluating factor: NameError:
body: <p>I am an absolute newbie in Python programming and currently learning basic statistics on it.</p>
  
  <p>I am facing a </p>
  
  <blockquote>
    <p>"PatsyError: Error evaluating factor: NameError:"   </p>
  </blockquote>
  
  <p>on a code with <code>pred = model.predict(pd.DataFrame(calo['wt'])</code></p>
  
  <p>Below is my code:   </p>
  
  <p><div class="snippet" data-lang="js" data-hide="false" data-console="true" data-babel="false">
  <div class="snippet-code">
  <pre class="snippet-code-html lang-html prettyprint-override"><code># For reading data set
  # importing necessary libraries
  import pandas as pd 
  import numpy as np
  import matplotlib.pyplot as plt
  
  # reading a csv file using pandas library
  calo=pd.read_csv("/Users/Sanjeev/Desktop/Excel R Assignments/Simple Linear Regression/calories_consumed.csv")
  calo.columns = ['wt','cal']
  
  np.corrcoef(calo.wt,calo.cal)
  
  plt.plot(calo.wt,calo.cal,"bo");plt.xlabel("WEIGHT");plt.ylabel("CALORIES")
  
  # For preparing linear regression model we need to import the statsmodels.formula.api
  import statsmodels.formula.api as smf
  model = smf.ols("wt~cal",data=calo).fit()
  
  # For getting coefficients of the varibles used in equation
  model.params
  
  # P-values for the variables and R-squared value for prepared model
  model.summary()
  
  model.conf_int(0.05) # 95% confidence interval
  
  pred = model.predict(pd.DataFrame(calo['wt']))</code></pre>
  </div>
  </div>
  </p>
  
  <p>This throws up an error:</p>
  
  <p><div class="snippet" data-lang="js" data-hide="false" data-console="true" data-babel="false">
  <div class="snippet-code">
  <pre class="snippet-code-html lang-html prettyprint-override"><code>Traceback (most recent call last):
  
    File "&lt;ipython-input-43-4fcbf1ee1921&gt;", line 1, in &lt;module&gt;
      pred = model.predict(pd.DataFrame(calo['wt']))
  
    File "/anaconda3/lib/python3.7/site-packages/statsmodels/base/model.py", line 837, in predict
      exog = dmatrix(design_info, exog, return_type="dataframe")
  
    File "/anaconda3/lib/python3.7/site-packages/patsy/highlevel.py", line 291, in dmatrix
      NA_action, return_type)
  
    File "/anaconda3/lib/python3.7/site-packages/patsy/highlevel.py", line 169, in _do_highlevel_design
      return_type=return_type)
  
    File "/anaconda3/lib/python3.7/site-packages/patsy/build.py", line 888, in build_design_matrices
      value, is_NA = _eval_factor(factor_info, data, NA_action)
  
    File "/anaconda3/lib/python3.7/site-packages/patsy/build.py", line 63, in _eval_factor
      result = factor.eval(factor_info.state, data)
  
    File "/anaconda3/lib/python3.7/site-packages/patsy/eval.py", line 566, in eval
      data)
  
    File "/anaconda3/lib/python3.7/site-packages/patsy/eval.py", line 551, in _eval
      inner_namespace=inner_namespace)
  
    File "/anaconda3/lib/python3.7/site-packages/patsy/compat.py", line 43, in call_and_wrap_exc
      exec("raise new_exc from e")
  
    File "&lt;string&gt;", line 1, in &lt;module&gt;
  
  PatsyError: Error evaluating factor: NameError: name 'cal' is not defined
      wt~cal
         ^^^</code></pre>
  </div>
  </div>
  </p>
  
  <p>Need your help to resolve this. </p>
  
  <p>Thanks in advance. :) </p>