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

Pandas按Name分组将alpha列有效值均分替换同组Nan值

Pandas 分组填充alpha列实现方案

实现思路

  • 按Name列分组后,对每组alpha列做转换计算:先计算组内所有非NaN有效值的总和,再除以该组的总行数,得到每组统一的填充值
  • 利用pandas的transform方法,可直接将分组计算得到的结果映射回原数据的对应行,无需额外做表拼接操作,explode方法用于拆分列表类元素为多行,和当前需求场景不匹配,因此无法得到预期结果

完整代码示例

import pandas as pd
import numpy as np

# 构造示例数据
df = pd.DataFrame({
    'Name': ['A', 'A', 'A', 'B', 'B'],
    'T1': [10, 11, 13, 5, 3],
    'T2': [3, 5, 5, 2, 1],
    'alpha': [30, np.nan, np.nan, 7, np.nan]
})

# 核心逻辑:分组计算填充值,若存在组内alpha全为NaN的场景可加判断避免报错
df['alpha'] = df.groupby('Name')['alpha'].transform(
    lambda g: g.sum() / g.size if g.notna().any() else np.nan
)

print(df)

运行后输出结果和你给出的预期完全一致:

Name  T1  T2  alpha
0    A  10   3   10.0
1    A  11   5   10.0
2    A  13   5   10.0
3    B   5   2    3.5
4    B   3   1    3.5

内容的提问来源于stack exchange,提问作者think-maths

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 00:45:08