[英]Pandas: How to loc[] by MultiIndex
我的代码中有一个奇怪的错误。 我通常想做的是通过 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)
有问题 MutliIndex 有 3 个级别,您希望按 2 个级别 MultiIndex 过滤,因此级别数不匹配,因此会引发错误。
最好在这里使用GroupBy.transform
和boolean indexing
:
ser = df.groupby(['department', 'position'])['Pay Rate'].transform('count')
df.loc[ser > 1]
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.