我遇到错误KeyError:“调整”。关'。我不确定为什么,
import pandas as pd
import quandl
import math
df = quandl.get('WIKI/GOOGL')
df = df[['Adj. Open','Adj. High','Adj. Low', 'Adj. Close', 'Adj. Volume',]]
df['HL_PCT'] = (df['Adj. High'] - df['Adj. Close'])/ df['Adj. Close'] *
100.0
df['PCT_change'] = (df['Adj. Close'] - df['Adj. Open'])/ df['Adj. Open'] *
100.0
df = df[['Adj. Open','HL_PCT','PCT_change','Adj. Volume']]
forecast_col = 'Adj. Close'
df.fillna(-99999, inplace=True)
forecast_out = int(math.ceil(0.1*len(df)))
df['label'] = df['Adj. Close'].shift(-forecast_out)
print(df.head())
还有其他这样的错误
第19行中的文件“ C:\ Anaconda3 \ Lib \ idlelib \ google_stock.py” df ['label'] = df ['Adj。关闭'] .shift(-forecast_out)
如果有任何相关性,我正在使用Python 3.6.4。
答案 0 :(得分:0)
Keyerrors
是指类似对象dict()
的对象,在key
中找不到dict
。您在该程序中多次重新定义df
,这将创建一个新的df
对象。它不会改变旧的。所以当你说
df = df[['Adj. Open','HL_PCT','PCT_change','Adj. Volume']]
您要删除key
的{{1}}值
然后您尝试引用它,稍后再说
Adj. Close
但是df['label'] = df['Adj. Close'].shift(-forecast_out)
不再存在。
答案 1 :(得分:0)
在代码的这一行:
df = df[['Adj. Open','HL_PCT','PCT_change','Adj. Volume']]
您正在将df
设置为仅具有以上列。然后尝试访问df中不存在的密钥
df['label'] = df['Adj. Close'].shift(-forecast_out)
因此,错误。