2016-12-31 5 views
-2
import pandas as pd 
import quandl 

df=quandl.get('WIKI/GOOGL') 

#print(df.head()) 

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 

df['PCT_change'] =(df['Adj.Close']-df['Adj.Open'])/df['Adj.Open'] * 100 

df=df[['Adj.Close','HT_PCT','PCT_change','Adj.Volume']] 

KeyError: "['Adj.Open' 'Adj.High' 'Adj.Low' 'Adj.Close' 'Adj.Volume'] not in index"Pandas - KeyError: Spalten nicht im Index

+0

Was ist 'print (df.columns .tolist()) '? Es scheint, dass es bei der Auswahl von Spalten nach Namen einen Tippfehler gibt. – jezrael

+2

Wo ist der Fehler? Fügen Sie die vollständige Fehlerverfolgung in die Frage ein. – MYGz

Antwort

3

Sie müssen Räume in Spalten Namen - nach . fügen Sie ein Leerzeichen:

print (df.columns.tolist()) 
['Open', 'High', 'Low', 'Close', 'Volume', 'Ex-Dividend', 'Split Ratio', 
'Adj. Open', 'Adj. High', 'Adj. Low', 'Adj. Close', 'Adj. Volume'] 

import pandas as pd 
import quandl 

df=quandl.get('WIKI/GOOGL') 

#print(df.head()) 
#print (df.columns.tolist()) 

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 

df['PCT_change'] =(df['Adj. Close']-df['Adj. Open'])/df['Adj. Open'] * 100 

df=df[['Adj. Close','HL_PCT','PCT_change','Adj. Volume']] 
print (df.head()) 
      Adj. Close HL_PCT PCT_change Adj. Volume 
Date              
2004-08-19 50.322842 3.712563 0.324968 44659000.0 
2004-08-20 54.322689 0.710922 7.227007 22834300.0 
2004-08-23 54.869377 3.729433 -1.227880 18256100.0 
2004-08-24 52.597363 6.417469 -5.726357 15247300.0 
2004-08-25 53.164113 1.886792 1.183658 9188600.0 
Verwandte Themen