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

Pandas创建拼接新列:长度超阈值时自动重置计数器

Pandas实现带长度触发重置规则的计数拼接列

实现逻辑

逐行处理时维护一个从1起始的计数器,规则如下:

  • 先拼接每行A列、B列值得到基础字符串,计算基础串长度
  • 校验「基础串长度 + 当前计数器值转字符串后的长度」,如果总长度超过11,立刻将计数器重置为1
  • 拼接基础串和当前计数器值作为该行C列的结果,之后计数器自增1,供下一行使用

完整可运行代码

import pandas as pd

# 构造测试用DataFrame
df = pd.DataFrame({
    'A': ['john', 'jacob', 'juli', 'jason', 'alan'],
    'B': ['doe', 'smith', 'patel', 'bourne', 'turing']
})

# 初始化计数器、结果存储列表
counter = 1
c_col = []

for _, row in df.iterrows():
    base = row['A'] + row['B']
    # 长度超限则重置计数器
    if len(base) + len(str(counter)) > 11:
        counter = 1
    # 拼接当前行C值
    c_col.append(f"{base}{counter}")
    # 计数器自增
    counter += 1

df['C'] = c_col

结果验证

执行代码后打印df,输出和预期完全一致:

A       B             C
0   john     doe      johndoe1
1  jacob   smith    jacobsmith2
2   juli   patel    julipatel3
3  jason  bourne  jasonbourne1
4   alan  turing  alanturing2

注:该逻辑依赖逐行的状态传递,当数据集规模在百万行以内时,逐行遍历的可读性和调试便捷性远高于复杂的矢量化写法,性能完全可以满足日常需求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.29 22:33:24