Что такое ошибка имени и как ее решить - PullRequest
1 голос
/ 29 марта 2020
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 ]

1 голос
/ 29 марта 2020

Вы не импортируете Бар из библиотеки "Боке". Добавление этой строки вверху решит вашу проблему:

from bokeh.charts import Bar
0 голосов
/ 29 марта 2020

A NameError в Python означает, что интерпретатор 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, которую вы могли импортировать, но bokeh.charts устарел и был удален через несколько лет go на этом этапе. Если вы хотите создать гистограмму или другие категориальные графики, то у Bokeh есть гораздо лучшие (и более простые) API-интерфейсы, доступные для использования в наши дни. См. Раздел документации Обработка категориальных данных , где приведено множество примеров.

...