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

pandas dataframe按分组条件用同组首行值替换指定列内容的实现

核心逻辑:按value字段分组,取每组第一条description值,再将该值批量覆盖同组所有行的description字段即可,不同常用场景的实现方式如下:


Pandas 实现

假设你已经将表格读取为DataFrame对象df,直接调用分组转换函数即可:

import pandas as pd
# 此处省略读表代码,如df = pd.read_excel('你的文件路径')或读数据库等
df['description'] = df.groupby('value')['description'].transform('first')

SQL 实现(支持窗口函数的数据库版本,如MySQL 8.0+、PostgreSQL、Hive等)

用FIRST_VALUE窗口函数按value分组取首行值:

SELECT 
  value,
  FIRST_VALUE(description) OVER (
    PARTITION BY value 
    -- 如果有指定排序规则决定哪条是首行,在这里加ORDER BY 字段,如原表自增ID
  ) AS description
FROM 你的表名

Excel 实现

假设表格的value列是A列、description列是B列,第1行为表头,数据行是2~7行:
在空白列第2行(如C2)输入公式后下拉填充即可:
=INDEX($B$2:$B$7,MATCH(A2,$A$2:$A$7,0))


处理后结果符合预期:

valuedescription
2Aron
2Aron
2Aron
3John
3John
4Liam

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 11:48:02