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

如何为Pandas DataFrame中Id列的重复值添加'--duplicated'后缀?

给重复Id添加指定后缀的解决方案

需求说明

初始化的DataFrame如下:

import pandas as pd
df = pd.DataFrame({'Weather':[32,45,12,18,19,27,39,11,22,42],
                   'Id':[1,2,3,4,5,1,6,7,8,2]})

其中索引5和9的Id为重复值,需要为这两个位置的Id添加--duplicated后缀,最终让这两行的Id分别变为1--duplicated和2--duplicated。

实现代码

# 定位重复的Id行,转换为字符串后拼接后缀
df.loc[df['Id'].duplicated(), 'Id'] = df.loc[df['Id'].duplicated(), 'Id'].astype(str) + '--duplicated'

# 查看目标行的结果
print(df.loc[[5, 9]])

执行结果

Weather               Id
5       27  1--duplicated
9       42  2--duplicated

补充说明

  • df['Id'].duplicated()默认会标记第二次及以后出现的重复值,刚好匹配需要修改的行;如果需要标记所有重复值(包括第一次出现的),可以添加参数keep=False。
  • 因为原始Id是整数类型,必须先通过astype(str)转换为字符串类型才能进行后缀拼接,否则会报错。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.11 14:10:29