对于给定的数据帧,df
例如
df = pd.DataFrame({'last_name': ['Clinton', 'Clinton', 'Bush', 'Bush', 'Obama'], 'first_name': ['Bill', 'Hillary', 'George Herbert Walker', 'George Walker', 'Barack']}).set_index(['last_name', 'first_name'])
我无法查询数据框,例如
df.loc['last_name', :] ... # or
df.xs('last_name') ...
因为它失败(KeyError: 'last_name'
)。我认为它应该按照本博文中有关MultiIndex的简单用法演示的描述进行工作。
我想念什么?
以下是一些选择:
使用查询(由于列命名限制而不太灵活):
df.query('last_name == "Clinton"')
将.loc与轴参数一起使用:
df.loc(axis=0)["Clinton",:]
使用.xs返回数据帧的一部分
df.xs('Clinton')
将get_level_values与布尔索引一起使用:
df[df.index.get_level_values(0) == "Clinton"]
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句