我的代码有一个奇怪的错误。 我通常要做的是通过MultiIndex来获取DataFrame表的一部分
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)一起广播
答案 0 :(得分:1)
MutliIndex存在3个级别的问题,您希望按2个级别的MultiIndex进行过滤,因此级别编号不匹配,因此会引发错误。
这里最好将GroupBy.transform
与boolean indexing
一起使用:
ser = df.groupby(['department', 'position'])['Pay Rate'].transform('count')
df.loc[ser > 1]