熊猫:如何通过MultiIndex定位[]

时间:2020-05-02 10:34:37

标签: python pandas dataframe

我的代码有一个奇怪的错误。 我通常要做的是通过MultiIndex来获取DataFrame表的一部分

DataFrame be like

more_than_one_race = df.groupby(['department', 'position'])['Pay Rate'].count()
more_than_one_race = more_than_one_race[more_than_one_race > 1].index
df.loc[more_than_one_race]

我收到以下错误:

ValueError:操作数不能与形状(3,2)(3,)(3,2)一起广播

1 个答案:

答案 0 :(得分:1)

MutliIndex存在3个级别的问题,您希望按2个级别的MultiIndex进行过滤,因此级别编号不匹配,因此会引发错误。

这里最好将GroupBy.transformboolean indexing一起使用:

ser = df.groupby(['department', 'position'])['Pay Rate'].transform('count')

df.loc[ser > 1]