IPython中的常量名称错误

IPython中的常量名称错误,python,python-3.x,jupyter-notebook,ipython,Python,Python 3.x,Jupyter Notebook,Ipython,我对Python非常陌生,正在努力学习。似乎我复制的代码中几乎每个单元格都有一个错误(用于使用卡尔曼滤波器进行交易)。有人能校对吗? 资料来源: 我试着按照源代码复制并运行代码,但即使逐个单元格,也会出现一个又一个错误。我试图根据Nsepy的文档更新一些代码(get_price_history变成get_history,stock变成symbol),但我没有走多远 df["date"] = pd.to_datetime(df.index) mids = (df.Open + df.Close

我对Python非常陌生,正在努力学习。似乎我复制的代码中几乎每个单元格都有一个错误(用于使用卡尔曼滤波器进行交易)。有人能校对吗? 资料来源:

我试着按照源代码复制并运行代码,但即使逐个单元格,也会出现一个又一个错误。我试图根据Nsepy的文档更新一些代码(get_price_history变成get_history,stock变成symbol),但我没有走多远

df["date"] = pd.to_datetime(df.index)

mids = (df.Open + df.Close)/2
spans = abs(df.Close-df.Open)

inc = df.Close > df.Open
dec = df.Open > df.Close
w = 12*60*60*1000 # half day in ms

output_notebook()

TOOLS = "pan,wheel_zoom,box_zoom,reset,save"

p = figure(x_axis_type="datetime", tools=TOOLS, plot_width=1000,      toolbar_location="left",y_axis_label = "Price",
      x_axis_label = "Date")

p.segment(df.date, df.High, df.date, df.Low, color="black")
p.rect(df.date[inc], mids[inc], w, spans[inc], fill_color='green', line_color="green")
p.rect(df.date[dec], mids[dec], w, spans[dec], fill_color='red', line_color="red")
p.line(df.date,state_means,line_width=1,line_color = 'blue',legend="Kalman filter")

p.title = "Implementation of Kalman Filter Estimation - TCS EOD chart"
p.xaxis.major_label_orientation = pi/4
p.grid.grid_line_alpha=0.3

根据消息来源,我希望在上面的代码之后运行show(p),但是得到的名称错误“show”没有定义。如果相反,我在没有show(p)的情况下运行上面的代码,我得到的名称错误是“pd没有定义”“。常量名称错误。

@Dawson,欢迎使用SO。从某处复制代码时,请确保您完全理解代码需要运行的内容,如果您是一种语言的新手,请确保在运行代码之前知道代码的功能。现在谈谈你的问题: 第一:您应该安装所有需要的库,例如pandas。这可以通过在命令行中运行以下命令来完成:

pip install pandas 
作为补充说明,如果它们已安装并且您想要升级,您可以使用

pip install pandas --upgrade
您可能需要对ipython笔记本第一个单元格中的所有库执行此操作

然后,您应该将这些库导入笔记本:

import pandas as pd # imports the library to your code under the name pd, from now on whenever you use pd.xxx the xxx function from the pandas library is called/executed.

这些应该可以解决问题。

请在第一个单元格中用通用[python]标记run
import pandas as pd
标记所有与python相关的问题。您是否按照链接中给出的方式导入了所有库和模块?更重要的是,您的系统中的所有库都正确设置了吗?@krishna我按照建议做了,在运行第一个单元代码后运行了整个代码,现在它返回NameError:name'df'未定义。@Sayandip Dutta我在Jupyter笔记本上使用IPython,并已导入并检查了PyKalman,Bokeh,NSEPy和熊猫。就正确设置而言-如何检查呢?是的,如上所述,我添加了原作者提到的所有模块,并验证了它们的安装。错误没有改变。它对我有效,与你提到的改变。你用的是一个笔记本吗?每个单元会收到哪些错误消息?我非常感谢您花时间亲自运行代码。是的,一本笔记本。我下班后会更新错误消息。我想我一定是有一个python2/pytho3pip/pip3的错误配置。所以我排除了错误,但没有打印输出。在运行“Show(p)”之前,我已经成功加载了“BokehJS 1.3.1”,然后在左侧有一个带有图例的空白框。你能试试这个吗?从bokeh.plotting导入*输出_笔记本()p=figure()p.line([1,2,3],[2,1,3])显示(p)