获取密钥错误:Adj。用python关闭

2024-03-29 00:25:39 发布

您现在位置:Python中文网/ 问答频道 /正文

我遇到了一个错误。关闭'。我不知道为什么

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())

还有一个错误是这样的

File "C:\Anaconda3\Lib\idlelib\google_stock.py", line 19, in df['label'] = df['Adj. Close'].shift(-forecast_out)

我使用的是Python3.6.4,如果这与此相关的话


Tags: importdfclose错误mathopenoutchange
2条回答

在代码的这一行中:

df = df[['Adj. Open','HL_PCT','PCT_change','Adj. Volume']]

您正在将df设置为仅包含以上列。然后尝试访问df中不存在的密钥

df['label'] = df['Adj. Close'].shift(-forecast_out)

因此,出现了错误

Keyerrors是指类似dict()的对象,在dict中找不到key。您在此程序中多次重新定义df,这将创建一个新的df对象。它不会改变旧的。所以当你说

df = df[['Adj. Open','HL_PCT','PCT_change','Adj. Volume']]

您正在删除Adj. Closekey

然后你试着在后面引用它

df['label'] = df['Adj. Close'].shift(-forecast_out)

但是Adj Close已经不存在了

相关问题 更多 >