我怀疑这是微不足道的,但我还没有发现可以让我根据分层键的值从 Pandas 数据框中选择行的咒语。因此,例如,假设我们有以下数据框:
import pandas
df = pandas.DataFrame({'group1': ['a','a','a','b','b','b'],
'group2': ['c','c','d','d','d','e'],
'value1': [1.1,2,3,4,5,6],
'value2': [7.1,8,9,10,11,12]
})
df = df.set_index(['group1', 'group2'])
df 看起来和我们预期的一样:
如果 df 没有在 group1 上建立索引,我可以执行以下操作:
df['group1' == 'a']
但是在这个带有索引的数据框上失败了。所以也许我应该将其视为具有层次索引的 Pandas 系列:
df['a','c']
没有。那也失败了。
那么我如何选择所有行,其中:
- group1 == ‘a’
- group1 == ‘a’ & group2 == ‘c’
- 组 2 == ‘c’
- [‘a’,‘b’,‘c’] 中的组 1
原文由 JD Long 发布,翻译遵循 CC BY-SA 4.0 许可协议
尝试使用
xs
非常精确: