在 Pandas MultiIndex DataFrame 上建立索引时出现 KeyError

乔什·弗里德兰德

文档中的以下示例按预期工作:

s = pd.Series([1, 2, 3, 4, 5, 6],index=pd.MultiIndex.from_product([["A", "B"], ["c", "d", "e"]]))

s['A']

c    1
d    2
e    3

但是,对于此示例,根据我的数据,此类索引会引发错误:

df = pd.DataFrame({'client_id': {('foo', '2018-01-29'): '1',
  ('bar', '2018-01-29'): '1',
  ('baz', '2018-01-29'): '1',
  ('alice', '2018-01-29'): '1',
  ('bob', '2018-01-29'): '1'}})

df['alice']

KeyError: 'alice'

我究竟做错了什么?

cs95

只需使用loc

df.loc['alice']

           client_id
2018-01-29         1

pandas 不清楚“alice”是否是一个列df对于该系列,很明显调用__getitem__正在访问索引。


其他替代方案(根据How do I slice or filter MultiIndex DataFrame levels?):

df.loc(axis=0)['alice']

           client_id
2018-01-29         1

df.xs('alice')

           client_id
2018-01-29         1

df.query('ilevel_0 == "alice"')

                 client_id
alice 2018-01-29         1

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在MultiIndex DataFrame上使用Pandas query()方法?

索引Pandas数据框时出现KeyError

使用Pandas MultiIndex选择多层DataFrame的行

索引与MultiIndex的Pandas Dataframe日期时间切片

列上的pandas dataframe排序在索引上引发keyerror

筛选MultiIndex Pandas DataFrame

在Pandas数据框中设置索引时出现KeyError

列计算中的Pandas MultiIndex DataFrame参考索引值

合并时的Pandas KeyError

KeyError:键长度超过索引深度-Pandas MultiIndex

取消透视/带有MultiIndex列和行的melt()Pandas DataFrame时缺少索引

在创建MultiIndex列时合并Pandas DataFrame

在MultiIndex DataFrame-Pandas上突出显示最大/最小

带有MultiIndex DataFrame的fillna的Pandas SettingWithCopyWarning

具有MultiIndex列的Pandas DataFrame中的布尔索引

如何切片具有MultiIndex索引和MultiIndex列的Pandas DataFrame?

在MultiIndex DataFrame Pandas中选择子列

Pandas Dataframe Mul在Multiindex上

使用MultiIndex索引到Pandas DataFrame时保持顺序吗?

Pandas DataFrame Colunm的KeyError异常

在Pandas Dataframe中查询Multiindex-特殊索引

使用pandas DataFrame.dot时multiindex的广播级别

使用MultiIndex在DataFrame上建立索引

如何在MultiIndex Pandas DataFrame中设置索引值?

Pandas Multiindex DataFrame - 按外部系列分组?

Pandas - 使用 MultiIndex DataFrame 的索引切入 DataFrame

更新 Pandas MultiIndex DataFrame

Pandas DataFrame - KeyError: 'date'

写入 Excel 时 Pandas MultiIndex Dataframe 样式错误