在Pandas中访问多索引数据帧时的KeyError

时间:2017-02-22 16:54:23

标签: python pandas data-science

我有以下数据框,其中“Location”和“Name”作为索引。 Cost Item Purchased Location Name
Store 1 Chris 22.5 Dog Food Kevyn 2.5 Kitty Litter Store 2 Vinod 5.0 Bird Seed

我可以访问df.loc["Store 1"] 但是df.loc["Store 1"]["Kevyn"]给了我KeyError。我做错了什么?

2 个答案:

答案 0 :(得分:0)

您在此处使用了一些不正确的链式索引,您希望使用类似

之类的内容索引MultiIndex的两个级别
df.loc['Store 1', 'Kevyn']

请参阅文档中的Basic indexing on axis with MultiIndex

答案 1 :(得分:0)

你需要传递一个元组:

In [100]:
df.loc[('Store 1', 'Kevyn')]

Out[100]:
Cost                       2.5
Item Purchased    Kitty Litter
Name: (Store 1, Kevyn), dtype: object

docs详细说明如何编制索引