Pandas索引操作出现result = self._data[key]报错求助
错误根因
错误触发自你代码中的如下语句:x = msft.index; close = msft.index['Adj Close'], high = msft['High']; low = msft['Low']; openprice=msft['Open'];
msft.index是Pandas DataFrame的行索引对象,仅存储每行的时间标签,不包含Adj Close等行情列数据,只有DataFrame本体才能通过列名提取对应列,你错误地从索引对象中提取列,触发了取值报错。
修复方案
将msft.index['Adj Close']修改为msft['Adj Close']即可,建议拆分多语句赋值行,更便于后续调试,修改后的对应代码段为:
x = msft.index close = msft['Adj Close'] high = msft['High'] low = msft['Low'] openprice = msft['Open']
额外优化提示
- 不建议将多个独立赋值语句用分号分隔放在同一行,报错时很难快速定位错误点,拆分每行一个语句是更规范的写法
- 你引入的多个库(比如statsmodels、seaborn、os相关模块)在当前代码中没有用到,可暂时注释掉,减少不必要的环境依赖排查成本
内容的提问来源于stack exchange,提问作者TheFemaleHessian
相关产品推荐
相关产品推荐

