[英]how to select a group from groupby dataframe using pandas
I have a dataframe with multilevel index (company, year) that grouped by mean, looks like this:我有一个 dataframe 具有按平均值分组的多级索引(公司,年份),如下所示:
company year mean salary
ABC 2018 3000
2019 3400
LOL 2018 1200
2019 3500
I want to select the data belongs to "LOL", my desired outcome would be:我想 select 数据属于“LOL”,我想要的结果是:
company year mean salary
LOL 2018 1200
2019 3500
Is there a way I can only select a certain group?有没有办法我只能 select 某个组? I tried to use.filter function on dataframe but I was only able to apply it to rows such as (lambda x: x > 1000) but not for index value.我尝试在 dataframe 上使用.filter function 但我只能将其应用于诸如 (lambda x: x > 1000) 之类的行,但不能应用于索引值。
Any advice will be appreciated!任何建议将被认真考虑!
Use DataFrame.xs
with drop_level=False
for avoid removed first level:使用DataFrame.xs
和drop_level=False
以避免删除第一级:
df1 = df.xs('LOL', drop_level=False)
Or filter by first level with Index.get_level_values
:或使用Index.get_level_values
按第一级过滤:
df1 = df[df.index.get_level_values(0) == 'LOL']
print (df1)
mean salary
company year
LOL 2018 1200
2019 3500
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.