You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在pandas dataframe分组求均值后筛选?获取指定day的hour与count

解决步骤
  • 先完成分组求均值操作,假设你的原始DataFrame名为df,按day和hour分组后计算count的均值,用reset_index()把分组索引转为普通列,方便后续筛选:
grouped_df = df.groupby(['day', 'hour'])['count'].mean().reset_index()
  • 接着筛选day为0、5、6的数据,用isin()方法匹配目标值,再指定保留需要的列:
filtered_df = grouped_df[grouped_df['day'].isin([0, 5, 6])][['day', 'hour', 'count']]

更简洁的写法

可以把两步合并,用query()方法直接筛选,代码更紧凑:

filtered_df = df.groupby(['day', 'hour'])['count'].mean().reset_index().query('day in [0,5,6]')

特殊情况处理

如果分组后没做reset_index(),day是多级索引的一部分,就通过索引层级来筛选:

grouped_df = df.groupby(['day', 'hour'])['count'].mean()
filtered_df = grouped_df.loc[grouped_df.index.get_level_values('day').isin([0,5,6])].reset_index()

内容的提问来源于stack exchange,提问作者Raksha

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.07 23:20:40