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

Pandas计算列A第一五分位数对应行的列B平均值实现咨询

实现方法

首先修正你获取分位数的代码:df.A.quantile([1]) 实际计算的是A列的最大值,若要获取你示例中提到的第一五分位(即A列数值最高的前20%分界值),需要传入分位点参数0.8,完整实现逻辑如下:

  1. 计算A列的80百分位数作为筛选阈值
  2. 筛选出A列大于等于该阈值的行
  3. 对筛选结果的B列求平均值

对应代码:

# 计算A列80分位数作为分界阈值
threshold = df['A'].quantile(0.8)
# 筛选符合条件的行后求B列平均值
result = df[df['A'] >= threshold]['B'].mean()

示例验证

用你提供的测试数据运行代码后:

  • 计算得到的阈值为7.5
  • 符合条件的行是Identifier为G、H的两条记录,对应B列值为2、1
  • 最终计算得到的平均值为1.5,完全符合你的预期。

如果你后续需要统计A列数值最低的20%区间的B列平均值,仅需将分位点参数改为0.2,同时将筛选条件改为df['A'] <= threshold即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 13:57:02