繁体   English   中英

Pandas:如何通过 MultiIndex 定位 []

[英]Pandas: How to loc[] by MultiIndex

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

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.transformboolean indexing

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

df.loc[ser > 1]

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM