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

Pandas中如何按指定列特定范围筛选后计算其他列均值

解答

完全可以先对单列做筛选,再基于筛选后的子集计算其他列的均值,这是pandas数据处理的常规操作。
你原有代码的逻辑是按popularity列的每一个唯一值拆分全量数据做均值计算,所以会返回0-97所有取值对应的分组结果,和你只需要popularity > 95范围数据的需求不匹配,根据实际诉求选对应写法即可:

  • 不需要分组,要所有popularity>95样本的其他列整体均值:
# 先做行筛选,再计算各数值列均值
means = df[df['popularity'] > 95].mean(numeric_only=True)
  • 需要在popularity>95的范围内,按popularity的具体取值(即96、97两个值)分组计算各组均值:
# 先筛出符合阈值的子集,再执行分组计算
means = df[df['popularity'] > 95].groupby('popularity').mean(numeric_only=True)

补充说明:先筛选再计算的逻辑,不会对0-95区间的无效数据做额外计算,比先全量分组再过滤结果的运行效率更高。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.01 22:18:32