什么是名称错误以及如何解决此错误

时间:2020-03-29 15:36:45

标签: python bokeh

import pandas as pd
from bokeh.plotting import figure, show
from bokeh.io import output_notebook
output_notebook()
df = pd.read_csv("covid_19_india.csv")
melted_df = pd.melt(df, id_vars=['Date'], value_vars=['ConfirmedIndianNational', 'Deaths'])
melted_df.head()
p = Bar(melted_df, label="Date", values="value", group="variable", legend="top_left",ylabel='Values')

我尝试了此代码并收到错误 NameError:名称“ Bar”未定义

如何解决这个问题

2 个答案:

答案 0 :(得分:1)

您不是从库“ bokeh”中导入Bar。只需在顶部添加此行即可解决您的问题:

from bokeh.charts import Bar

答案 1 :(得分:0)

Python中的NameError意味着Python解释器遇到了一些它不知道的变量或函数名。有多种方法可以告知Python命名的事物:


import pandas as pd # importing them, now "pd" is defined

def foo(): ... # defining a function, now "foo" is defined

bar = 10 # assigning variables, now "bar" is defined

class Baz(object): ... # creating classes, now "Baz" is defined

在您的代码中,您尝试使用名为Bar的函数,但未导入,定义或分配任何名为Bar的函数。 Python不知道名称Bar的含义,因此不知道NameError

在许多情况下,解决方案是添加缺少的导入,但是在这种情况下,建议已过时。曾经是一个可以导入具有bokeh.charts函数的Bar模块的{em> ,但是几年前,bokeh.charts已经过时并被删除。如果您要创建条形图或其他分类图,那么Bokeh如今可以使用更好(更简单)的API。有关更多示例,请参见文档Handling Categorical Data部分。