我有一个多索引系列,如果级别1有多个项,我将尝试打印级别0的所有值。例如,以以下系列为例:
match
0 0 apple
1 0 orange
1 pear
2 banana
我不在乎苹果,因为它是0级索引0的唯一条目。因为0级索引1有三个条目,我想把它们全部打印出来。我得到的最好的是print(fruit.loc[(fruit.index.get_level_values('match') != 0)])
,但那只会给我梨和香蕉,而不是橘子。似乎我应该能够以某种方式获得0级索引,并将它们传递给.loc()
,但我没有任何运气
创建上面的系列:
arrays = [[0, 1, 1, 1], [0, 0, 1, 2]]
multi = pd.MultiIndex.from_arrays(arrays, names=('', 'match'))
fruit = pd.Series(data=('apple', 'orange', 'pear', 'banana'), index=multi)
您可以使用级别0上的groupby和带有
count
的transform
来创建掩码,以发现级别1有多个项从@ALolz创建掩码
m
的另一种方法相关问题 更多 >
编程相关推荐