使用复合(分层)索引从Pandas数据帧中选择行。
- 论坛
- 使用复合(分层)索引从Pandas数据帧中选择行。
16 浏览
使用复合(分层)索引从Pandas数据帧中选择行。
我怀疑这个问题很琐碎,但我还没有找到一个方法可以根据分层键的值从Pandas dataframe中选择行。所以,例如,想象一下我们有以下的dataframe:
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']
但在这个有索引的dataframe上会失败。那么也许我应该将其视为带有分层索引的Pandas系列:
df['a','c']
不对,这也失败了。
那么我如何选择所有满足以下条件的行:
- group1 == 'a'
- group1 == 'a' & group2 == 'c'
- group2 == 'c'
- group1 in ['a','b','c']