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”未定义
如何解决这个问题
答案 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部分。