运行手写线性回归基础代码时遇DataFrame无属性错误求助
解决DataFrame无属性错误的方案
先排查几个核心问题,逐个解决:
- 列名匹配问题:用
.访问DataFrame列时,对大小写、空格极其敏感——哪怕CSV里的列名是studytime(末尾带空格)或者StudyTime,都会导致data.studytime找不到属性。换成方括号访问法更稳妥:data['studytime'],同理data['score']也建议这么改。 - 确认实际列名:先加一行代码打印所有列名,排查是否存在拼写错误、隐藏空格或特殊字符:
print(data.columns) - 修复图像显示问题:你的代码里
plt.show少了括号,必须写成plt.show()才会弹出图表。
修改后的完整代码参考:
import pandas as pd import matplotlib.pyplot as plt data = pd.read_csv('/Users/brasilgu/Downloads/student/student-por.csv') # 先打印列名确认匹配情况 print(data.columns) # 用方括号访问列 plt.scatter(data['studytime'], data['score']) # 执行显示图表的操作 plt.show()
额外提醒:如果CSV里的成绩列不叫score(比如常见学生数据集里用G3代表最终成绩),也会触发同样的错误,看打印出的列名就能找到对应的成绩列。
内容的提问来源于stack exchange,提问作者philomath
相关产品推荐
相关产品推荐

