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

基于条件修改DataFrame值:将CUSTOM替换为带序号的对应值

解决方法:给重复的"CUSTOM"条目添加递增序号

没问题,我来帮你实现这个需求!核心思路是先定位所有目标条目,再给它们生成连续的序号并拼接成新值。

完整代码示例

import pandas as pd

# 注意:避免用Python内置类型名(比如list)当变量名,这里改成lst
lst = ['RK','G', 'CUSTOM', 'CUSTOM', 'KL', 'kj']
df = pd.DataFrame(lst, columns=['A'])

# 步骤1:筛选出所有等于"CUSTOM"的行
mask = df['A'] == 'CUSTOM'

# 步骤2:给这些行生成递增序号并替换原内容
df.loc[mask, 'A'] = 'CUSTOM' + (df[mask].groupby('A').cumcount() + 1).astype(str)

# 查看结果
print(df)

输出结果

A
0       RK
1        G
2  CUSTOM1
3  CUSTOM2
4       KL
5       kj

代码解释

  • 掩码筛选:mask = df['A'] == 'CUSTOM' 会生成一个布尔数组,标记哪些行的A列是"CUSTOM"。
  • 生成递增序号:df[mask].groupby('A').cumcount() 会对筛选后的行(都是"CUSTOM",属于同一个组)从0开始计数,加1后就变成1、2、3...这样的连续序号。
  • 拼接字符串:把序号转成字符串后和"CUSTOM"拼接,就能得到带序号的新值,再通过df.loc[mask, 'A']把这些新值替换回原DataFrame的对应位置。

不管你有3个、5个还是更多的"CUSTOM",这个方法都会自动生成对应的CUSTOM1、CUSTOM2...CUSTOMn,完全符合你的需求~

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 07:24:50