Python Forum
Plotly send pandas.errors.UndefinedVariableError.
Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Plotly send pandas.errors.UndefinedVariableError.
#1
Hello,

I am trying to create a chart from data in xlsx.

import pandas as pd
import plotly.express as px


dataframe1 = pd.read_excel(r'C:\Users\faceo\Documents\NinjaTrader Grid 2022-10-26 01-30 .xlsx')

print(dataframe1)


df = px.data.gapminder().query("Date=='2022-10-26'")
fig = px.line(df, x="Time", y="Close")
fig.show()
Output:
Date Time Open High Low Close Volume Status 0 2022-10-26 13:31 3853.50 3854.50 3853.00 3853.25 874 NaN 1 2022-10-26 13:30 3854.75 3855.00 3853.00 3853.75 2599 NaN 2 2022-10-26 13:29 3854.00 3855.25 3853.00 3855.00 2860 NaN 3 2022-10-26 13:28 3856.50 3856.50 3853.00 3853.75 4586 NaN 4 2022-10-26 13:27 3856.00 3857.00 3854.50 3856.25 4775 NaN .. ... ... ... ... ... ... ... ... 806 2022-10-26 00:05 3836.25 3836.50 3835.50 3835.75 54 NaN 807 2022-10-26 00:04 3836.00 3836.75 3836.00 3836.00 31 NaN 808 2022-10-26 00:03 3835.00 3836.00 3835.00 3835.75 61 NaN 809 2022-10-26 00:02 3835.75 3835.75 3835.00 3835.00 62 NaN 810 2022-10-26 00:01 3836.00 3836.00 3835.75 3835.75 35 NaN [811 rows x 8 columns]
I get this error:

Error:
Traceback (most recent call last): File "C:\Users\faceo\Documents\AI1\ninjatrader\venv\lib\site-packages\pandas\core\computation\scope.py", line 198, in resolve return self.resolvers[key] File "C:\Users\faceo\AppData\Local\Programs\Python\Python310\lib\collections\__init__.py", line 986, in __getitem__ return self.__missing__(key) # support subclasses that define __missing__ File "C:\Users\faceo\AppData\Local\Programs\Python\Python310\lib\collections\__init__.py", line 978, in __missing__ raise KeyError(key) KeyError: 'Date' During handling of the above exception, another exception occurred: Traceback (most recent call last): File "C:\Users\faceo\Documents\AI1\ninjatrader\venv\lib\site-packages\pandas\core\computation\scope.py", line 209, in resolve return self.temps[key] KeyError: 'Date' The above exception was the direct cause of the following exception: Traceback (most recent call last): File "C:\Users\faceo\Documents\AI1\ninjatrader\ninjatrader.py", line 10, in <module> df = px.data.gapminder().query("Date=='2022-10-26'") File "C:\Users\faceo\Documents\AI1\ninjatrader\venv\lib\site-packages\pandas\util\_decorators.py", line 331, in wrapper return func(*args, **kwargs) File "C:\Users\faceo\Documents\AI1\ninjatrader\venv\lib\site-packages\pandas\core\frame.py", line 4463, in query res = self.eval(expr, **kwargs) File "C:\Users\faceo\Documents\AI1\ninjatrader\venv\lib\site-packages\pandas\util\_decorators.py", line 331, in wrapper return func(*args, **kwargs) File "C:\Users\faceo\Documents\AI1\ninjatrader\venv\lib\site-packages\pandas\core\frame.py", line 4601, in eval return _eval(expr, inplace=inplace, **kwargs) File "C:\Users\faceo\Documents\AI1\ninjatrader\venv\lib\site-packages\pandas\core\computation\eval.py", line 353, in eval parsed_expr = Expr(expr, engine=engine, parser=parser, env=env) File "C:\Users\faceo\Documents\AI1\ninjatrader\venv\lib\site-packages\pandas\core\computation\expr.py", line 813, in __init__ self.terms = self.parse() File "C:\Users\faceo\Documents\AI1\ninjatrader\venv\lib\site-packages\pandas\core\computation\expr.py", line 832, in parse return self._visitor.visit(self.expr) File "C:\Users\faceo\Documents\AI1\ninjatrader\venv\lib\site-packages\pandas\core\computation\expr.py", line 415, in visit return visitor(node, **kwargs) File "C:\Users\faceo\Documents\AI1\ninjatrader\venv\lib\site-packages\pandas\core\computation\expr.py", line 421, in visit_Module return self.visit(expr, **kwargs) File "C:\Users\faceo\Documents\AI1\ninjatrader\venv\lib\site-packages\pandas\core\computation\expr.py", line 415, in visit return visitor(node, **kwargs) File "C:\Users\faceo\Documents\AI1\ninjatrader\venv\lib\site-packages\pandas\core\computation\expr.py", line 424, in visit_Expr return self.visit(node.value, **kwargs) File "C:\Users\faceo\Documents\AI1\ninjatrader\venv\lib\site-packages\pandas\core\computation\expr.py", line 415, in visit return visitor(node, **kwargs) File "C:\Users\faceo\Documents\AI1\ninjatrader\venv\lib\site-packages\pandas\core\computation\expr.py", line 723, in visit_Compare return self.visit(binop) File "C:\Users\faceo\Documents\AI1\ninjatrader\venv\lib\site-packages\pandas\core\computation\expr.py", line 415, in visit return visitor(node, **kwargs) File "C:\Users\faceo\Documents\AI1\ninjatrader\venv\lib\site-packages\pandas\core\computation\expr.py", line 536, in visit_BinOp op, op_class, left, right = self._maybe_transform_eq_ne(node) File "C:\Users\faceo\Documents\AI1\ninjatrader\venv\lib\site-packages\pandas\core\computation\expr.py", line 456, in _maybe_transform_eq_ne left = self.visit(node.left, side="left") File "C:\Users\faceo\Documents\AI1\ninjatrader\venv\lib\site-packages\pandas\core\computation\expr.py", line 415, in visit return visitor(node, **kwargs) File "C:\Users\faceo\Documents\AI1\ninjatrader\venv\lib\site-packages\pandas\core\computation\expr.py", line 549, in visit_Name return self.term_type(node.id, self.env, **kwargs) File "C:\Users\faceo\Documents\AI1\ninjatrader\venv\lib\site-packages\pandas\core\computation\ops.py", line 85, in __init__ self._value = self._resolve_name() File "C:\Users\faceo\Documents\AI1\ninjatrader\venv\lib\site-packages\pandas\core\computation\ops.py", line 109, in _resolve_name res = self.env.resolve(local_name, is_local=is_local) File "C:\Users\faceo\Documents\AI1\ninjatrader\venv\lib\site-packages\pandas\core\computation\scope.py", line 211, in resolve raise UndefinedVariableError(key, is_local) from err pandas.errors.UndefinedVariableError: name 'Date' is not defined
Obviously i am not referring correctly my data to df = px.data.gapminder().query("Date=='2022-10-26'")

I find explanation not very precise:

https://plotly.com/python/line-charts/

Anyone has a better exemple or a solution?

Thank you
Reply
#2
Why are you using data.gapminder()? Plotly.data is a bunch of example datasets that are useful for demos. If you are trying to plot your own data you will not use anything from Plotly.data.

The error message means that the gapminder dataset does not have a "Date" column.
Frankduc likes this post
Reply
#3
You just change df = dataframe1 and thats it.
They could of told use that. Tutorial sucks in python.
Reply
#4
Don't blindly follow the tutorial. Take time to think about what you are doing. If you didn't understand what the code is supposed to do, investigate! You'll learn more from solving 1 problem than doing 10 tutorials.
Reply


Possibly Related Threads…
Thread Author Replies Views Last Post
  binning_endpoints ->plotly Luis_liverpool 0 842 Aug-09-2022, 10:13 AM
Last Post: Luis_liverpool
  pandas.errors.ParserError: Error tokenizing data. C error: Expected 9 fields in line Anldra12 9 15,394 Jun-15-2021, 08:16 AM
Last Post: Anldra12
  plotly expression problem Visiting 2 2,014 May-16-2021, 12:28 AM
Last Post: Visiting
  CGI in python, problem with pandas, plotly.express and export html HK2432 0 2,137 Jan-19-2020, 01:30 PM
Last Post: HK2432
  Plotly library with AIX 6.X / 7.X ? HK2432 0 1,468 Jan-14-2020, 06:04 PM
Last Post: HK2432
  Plotly error - AttributeError: module 'plotly.plotly' has no attribute 'iplot' fernando_santos 0 5,606 Jul-24-2019, 02:35 PM
Last Post: fernando_santos

Forum Jump:

User Panel Messages

Announcements
Announcement #1 8/1/2020
Announcement #2 8/2/2020
Announcement #3 8/6/2020