我有一个这样的数据集:

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 列的值。谁能告诉我如何索引它们?

最佳答案

你必须使用 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 部分。

关于python - Pandas :如何索引行?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28292878/

10-14 10:54