【发布时间】:2021-01-19 20:54:21
【问题描述】:
我目前正在构建一个包含多个图表的仪表板。用户可以选择使用 plotly-dash 下拉菜单来选择当前月份。图表的初始值始终是当前月份。
现在谈谈我的问题。这些图表需要多次计算,这些计算是在 Pandas 中预先完成的。我的代码顺序如下:
- 定义数据框
- 在 Pandas 中使用月份变量“T”(硬编码)进行计算
- 使用 plotly 生成图表,并使用下拉菜单在 plotly dash 中绘制它们
- 运行服务器并打印仪表板
我在步骤 3 中定义的下拉输出是:
def update_output(value):
return 'You have selected month "{}"'.format(value)
我想在第 1 步之后就使用此输出 - 因此我可以使计算动态化并使所选月份不被硬编码。本质上,我想将我的硬编码计算行重写为:
df[column].where[df['month_column'] = update_output].sum()
关于如何在计算过程中使用此变量 update_output 而不会出现 NameError(未识别变量)错误的任何想法?
我已经阅读了有关全局、本地、环境变量的信息...虽然似乎无法找到在定义之前使用变量的方法...
非常感谢您的帮助!
【问题讨论】:
-
你从哪里得到这个 NameError?请提供完整的追溯。
update_output定义在哪里?是否与df[column].where[...]行在同一个文件中?
标签: python numpy plotly plotly-dash