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

基于Pandas DataFrame:用“same”替换重复评论并调整ID

Pandas重复评论处理与ID重置方案

需求说明

  • 按Key字段分组,每组内仅保留第一条评论的原始内容,后续重复评论替换为"same"
  • 同一Key分组内的id字段从1开始重新递增编号

输入数据代码

import pandas as pd

df = {'Key': ['111', '111','111', '222*1','222*2', '333*1','333*2', '333*3'],
      'id' : ['', '','', '1','2', '1','2', '3'],
      'comment': ['wrong sentence', 'wrong sentence','wrong sentence', 'M','M', 'F','F', 'F']}
  
df = pd.DataFrame(df)

处理代码

# 按Key分组,重置ID为从1开始的递增序列
df['id'] = df.groupby('Key').cumcount() + 1

# 处理重复评论:仅保留每组第一条的原内容,其余替换为"same"
df['comment'] = df.groupby('Key')['comment'].transform(
    lambda x: x.where((x == x.iloc[0]) & (x.index == x.index[0]), 'same')
)

代码解释

  1. ID重置:利用groupby('Key').cumcount()获取每组内的行序号(从0起始),加1后得到从1开始的连续编号,直接覆盖原id字段。
  2. 评论去重处理:通过分组转换操作,对每组的评论进行判断:
    • 仅保留组内第一条评论的原始内容
    • 组内后续所有重复评论统一替换为"same"

处理后输出

执行代码后打印df,结果如下:

Key  id         comment
0     111   1  wrong sentence
1     111   2            same
2     111   3            same
3  222*1   1               M
4  222*2   1               M
5  333*1   1               F
6  333*2   1               F
7  333*3   1               F

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.08 19:10:28