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

如何基于A列分组值填充同组B列null值生成新列C

实现方案

你可以根据你使用的工具选择对应的实现方式,核心逻辑是:每个A值仅对应一个固定的B非空值,直接提取该值填充到所有同A值的行C列即可。

Excel/在线表格工具

在C列第一行数据单元格输入以下公式,下拉填充全列即可:

=IF(A2="orange","x","y")

如果不想硬编码x、y,需要自动匹配现有表内的非空值,可使用MAXIFS函数:

=MAXIFS(B:B,A:A,A2)

SQL

假设表名为data_table,两种写法均可:

写法1(可扩展,无需硬编码取值)

SELECT
  A,
  B,
  MAX(B) OVER (PARTITION BY A) AS C
FROM data_table

写法2(逻辑直观)

SELECT
  A,
  B,
  CASE A
    WHEN 'orange' THEN 'x'
    WHEN 'blue' THEN 'y'
  END AS C
FROM data_table

Python Pandas

假设数据表对应DataFrame名为df:

写法1(可扩展)

df['C'] = df.groupby('A')['B'].transform('max')

写法2(硬编码映射)

df['C'] = df['A'].map({'orange': 'x', 'blue': 'y'})

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 15:27:03