Python绘图报错NameError: name 'month' is not defined如何解决?
报错原因及修复方案
报错原因
NameError: name 'month' is not defined 错误的核心诱因是你直接在绘图代码中使用了month、reading两个变量,但没有完成必要的前置准备:
- 未将你的表格数据读取到Python运行环境中,生成可调用的数据集对象
- 未从数据集中提取对应列的数据并赋值给
month、reading变量,Python无法识别两个变量的定义,因此抛出异常
修复方案
你需要先读取数据并提取对应列,再执行绘图操作,完整流程如下:
- 安装依赖(若已安装pandas可跳过)
pip install pandas - 完整可运行代码示例
import pandas as pd import matplotlib.pyplot as plt # 读取数据,此处假设数据存储为csv格式,分隔符为空格,若为excel等其他格式可更换对应读取函数 df = pd.read_csv('your_data_path.csv', sep='\s+') # 提取对应列赋值给变量 month = df['month'] reading = df['reading'] # 执行绘图 plt.plot(month, reading, color='red', marker='o') plt.show()
补充提示:你提供的样例数据中所有month取值均为2021-02,直接绘图x轴只会显示一个取值,展示效果不佳,可以将x轴替换为reading_date列查看不同日期的读数变化。
内容的提问来源于stack exchange,提问作者Christina Lin
相关产品推荐
相关产品推荐

