首页 > 解决方案 > 我正在尝试使用 Jupyter 运行分析并运行下面的代码,但我得到了 NameError 。我一开始就定义了 df

问题描述

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 未定义的错误。

标签: pythonpandasdataframenameerror

解决方案


结尾不应有分号df = pd.read_csv()

还要运行第一个代码,然后运行第二个代码。你正在做的是你没有运行第一个代码所以 df 没有定义,当你尝试运行第二个代码时,它会给你错误。


推荐阅读