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

Pandas:将组内probability<15%的number替换为组内概率最高的number

数据处理需求与实现

原始数据

categorynumberprobability
1102240.3
1102180.6
1102160.1
2884240.16
2884150.8
2884100.04

需求说明

按category分组,将每组中probability低于15%(即0.15)的number值,替换为该组内probability最高的对应number值。

实现代码(Python Pandas)

import pandas as pd

# 构造原始数据
df = pd.DataFrame({
    'category': [1102, 1102, 1102, 2884, 2884, 2884],
    'number': [24, 18, 16, 24, 15, 10],
    'probability': [0.3, 0.6, 0.1, 0.16, 0.8, 0.04]
})

# 按category分组,提取每组概率最高对应的number
group_top_num = df.groupby('category').apply(
    lambda group: group.loc[group['probability'].idxmax(), 'number']
).reset_index(name='top_number')

# 合并原始数据与每组的top_number
df = df.merge(group_top_num, on='category')

# 替换符合条件的number值
df['number'] = df.apply(
    lambda row: row['top_number'] if row['probability'] < 0.15 else row['number'],
    axis=1
)

# 移除临时辅助列
df = df.drop('top_number', axis=1)

print(df)

处理后结果

categorynumberprobability
1102240.3
1102180.6
1102180.1
2884240.16
2884150.8
2884150.04

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.02 02:23:12