Python Pandas-KeyError:列不在索引中
KeyError:“['Adj.Open''Adj.High''Adj.Low''Adj.Close''Adj.Volume']不在索引中”Python Pandas-KeyError:列不在索引中,python,pandas,indexing,multiple-columns,quandl,Python,Pandas,Indexing,Multiple Columns,Quandl,KeyError:“['Adj.Open''Adj.High''Adj.Low''Adj.Close''Adj.Volume']不在索引中” 列名称中需要空格-在之后添加一个空格: 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_PC
列名称中需要空格-在
之后添加一个空格:
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']]
如果上述解决方案不起作用,您可以尝试:
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
什么是打印(df.columns.tolist())
?按名称选择列似乎有一些错误。错误在哪里?在问题中包含完整的错误回溯。给出错误属性error:“Index”对象没有属性“to_list”@boardtc-它是tolist()
不是to_list
我的错,我想编辑该评论,谢谢。顺便说一句,上面的内容不起作用,应该是df.columns.values.tolist()@boardtc-添加到答案中。
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
#pandas below 0.24+
print (df.columns.values.tolist())
#pandas above 0.24+
print (df.columns.to_numpy().tolist())