Plotly Dash代码在VS Code报KeyError: 'Year',Skills Network Labs正常求助
问题解决:Plotly Dash代码KeyError与图表不显示
报错根源
你把原代码依赖的航空数据集换成了automobileEDA.csv汽车数据集,但这两个数据集的列完全不匹配:
- 汽车数据里没有
Year、Month、Flights、CancellationCode等原代码大量使用的列,执行airline_data['Year']时直接抛出KeyError - 后续所有计算图表的函数(
compute_data_choice_1、compute_data_choice_2)都依赖航空数据的列,报错后代码中断,自然无法渲染图表
解决方案
方案1:换回匹配的航空数据集
这是最快解决问题的方式,确保数据集和代码逻辑一致:
- 直接使用原代码中的远程数据集链接:
airline_data = pd.read_csv('https://cf-courses-data.s3.us.cloud-object-storage.appdomain.cloud/IBMDeveloperSkillsNetwork-DV0101EN-SkillsNetwork/Data%20Files/airline_data.csv', encoding = "ISO-8859-1", dtype={'Div1Airport': str, 'Div1TailNum': str, 'Div2Airport': str, 'Div2TailNum': str}) - 或把航空数据集下载到本地,修改路径为本地文件路径:
airline_data = pd.read_csv(r"C:/Users/USER/Desktop/project/airline_data.csv", encoding = "ISO-8859-1", dtype={'Div1Airport': str, 'Div1TailNum': str, 'Div2Airport': str, 'Div2TailNum': str})
方案2:适配汽车数据集(需重写代码)
如果想基于automobileEDA.csv做可视化,需要完全修改代码适配汽车数据的结构:
- 查看数据集列:先执行
print(automobileEDA.columns)确认可用列,比如可能有year(注意大小写)、make、body-style、price等 - 修改下拉与逻辑:把年份列表
year_list换成汽车数据里的年份范围,把报告类型改成汽车相关的分析主题 - 重写计算函数:替换
compute_data_choice_1和compute_data_choice_2里的分组、聚合逻辑,用汽车数据的列生成图表数据 - 更新图表布局:修改图表类型、标题、坐标轴等,适配汽车数据的分析需求
额外检查项
- 确认依赖库已安装:执行
pip install dash plotly pandas确保所有需要的库都存在 - 运行后查看终端输出:如果没有报错,打开浏览器访问默认地址
http://127.0.0.1:8050/查看图表 - 路径格式:Windows系统下本地文件路径可以用
/或者转义的\\,确保路径正确
内容的提问来源于stack exchange,提问作者Monidipa Das
相关产品推荐
相关产品推荐

