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

如何按DataFrame分组计算75分位阈值并新增isAboveThreshold标记列

实现代码

首先导入依赖包,构造示例数据:

import pandas as pd
import numpy as np

# 构造示例DataFrame
data = {
    "group_name": ["g1", "g1", "g1", "g2", "g2", "g2", "g2", "g3", "g3", "g3"],
    "field_A": [3, 49, 90, 78, 92, 76, 48, 33, 44, 55]
}
df = pd.DataFrame(data)

核心处理逻辑:

# 按group_name分组,计算每组field_A的75%分位数,广播到组内所有行存入top列
df["top"] = df.groupby("group_name")["field_A"].transform(lambda x: x.quantile(0.75))
# 比较field_A值和当前组分位数,生成标记列
df["isTop75"] = np.where(df["field_A"] > df["top"], "Yes", "No")

运行后输出的结果与预期完全一致。如果不想额外引入numpy依赖,也可以用pandas自带的apply方法实现标记列的生成:

df["isTop75"] = df.apply(lambda row: "Yes" if row["field_A"] > row["top"] else "No", axis=1)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 18:48:04