熊猫:如何索引行?

时间:2015-02-03 06:42:32

标签: python pandas

我有这样的数据集:

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列的值。有人可以告诉我如何索引它们吗?

1 个答案:

答案 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部分。