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

如何为DataFrame的CellID列添加分类后缀编号?

解决CellID添加后缀的问题

你用rename()没用是因为这个方法是用来改列名或索引名的,而你要修改的是CellID列里的单元格内容,完全不是一回事。下面是具体的实现步骤:

1. 提取CellID的前缀

先把每个CellID的前缀部分分离出来,假设你的CellID格式是前缀_r数字(比如KO_d0_r1的前缀是KO_d0),用字符串拆分提取:

umap['prefix'] = umap['CellID'].str.split('_r').str[0]

2. 按前缀分组生成递增后缀

按前缀分组后,用cumcount()生成每个组内从0开始的递增序号,再拼接到前缀后面替换原CellID:

umap['CellID'] = umap['prefix'] + '-' + umap.groupby('prefix').cumcount().astype(str)

3. 清理临时列(可选)

如果不需要保留prefix这一列,直接删掉:

umap.drop('prefix', axis=1, inplace=True)

示例效果

原CellID列:

KO_d0_r1
KO_d0_r2
WT_d2_r1
WT_d2_r2
WT_d2_r3

处理后变成:

KO_d0-0
KO_d0-1
WT_d2-0
WT_d2-1
WT_d2-2

自定义前缀提取逻辑

如果你的CellID格式不是_r分隔前缀和编号,灵活调整提取方式:

  • 比如前缀是前两个下划线分隔的部分:umap['prefix'] = umap['CellID'].str.split('_').str[:2].str.join('_')
  • 用正则提取匹配前缀:umap['prefix'] = umap['CellID'].str.extract(r'(.*)_r\d+')

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 18:45:48