Я пытаюсь использовать Jupyter для запуска анализа и выполнил приведенный ниже код, но вместо этого получаю ошибку имени. Я определил df в самом начале

#python #pandas #dataframe #nameerror

Вопрос:

 df = pd.read_csv('dowjones.csv', index_col=0);
df['rm'] = 100 * (np.log(df.DJIA) - np.log(df.DJIA.shift(1)))
df.head()
 
  1. Я изначально определил df здесь, в приведенном выше коде
 df = df.dropna()
formula = 'MSFTtrans ~ rm'
results2 = smf.ols(formula, df).fit(cov_type = 'HAC', cov_kwds={'maxlags':10,'use_correction':True})
print(results2.summary())
 
  1. Затем я запустил приведенный выше код
 NameError                                 Traceback (most recent call last)
<ipython-input-3-b46efd5c722d> in <module>
      2 
      3 
----> 4 df = df.dropna()
      5 formula = 'MSFTtrans ~ rm'
      6 results2 = smf.ols(formula, df).fit(cov_type = 'HAC', cov_kwds={'maxlags':10,'use_correction':True})

NameError: name 'df' is not defined
 
  1. Это ошибка, которую я получил, сказав, что df не определен.

Комментарии:

1. Ячейка -> Запустить Все.

Ответ №1:

В конце не должно быть точки с запятой df = pd.read_csv() .

Также запустите первый код, а затем запустите второй код. То, что вы делаете, это то, что вы не запускаете первый код, поэтому df не определен, и когда вы пытаетесь запустить второй код, он выдает вам ошибку.

Комментарии:

1. Извините, я тоже новичок в переполнении стека. Я так и сделал.