我有这样的数据集:
stock_symbol stock_date stock_price_open stock_price_high
QRR 8/2/10 2.37 2.42 2.29
QTM 5/2/10 2.38 2.5 2.34
QXM 4/2/10 2.57 2.64 2.39
我读了纽约证券交易所的数据集:
df = pandas.read_csv('NYSE.csv', index_col = 0, parse_dates=True)
我跑的时候:
df[['QRR','QTM','QXM']]
我收到了这个错误:
KeyError: "['QRR' 'QTM' 'QXM'] not in index"
'QRR','QTM','QXM'是stock_symbol列的值。有人可以告诉我如何索引它们吗?
答案 0 :(得分:2)
您必须使用loc
:
In [11]: df.loc[['QRR','QTM','QXM']]
Out[11]:
stock_date stock_price_open stock_price_high
stock_symbol
QRR 8/2/10 2.37 2.42 2.29
QTM 5/2/10 2.38 2.50 2.34
QXM 4/2/10 2.57 2.64 2.39
如果没有loc,df[['QRR','QTM','QXM']]
,pandas会尝试选择那些列(不存在,因此"不在索引"消息中):
In [21]: df[["stock_price_open", "stock_price_high"]]
Out[21]:
stock_price_open stock_price_high
stock_symbol
QRR 2.42 2.29
QTM 2.50 2.34
QXM 2.64 2.39
查看文档的selecting data部分。