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

使用Pandas为DataFrame中同code生成递增文件名

解决方法

可以用Pandas的分组和字符串处理实现需求,步骤如下:

  1. 提取文件后缀:从原name列中拆分出文件后缀(即最后一个.后的部分)
  2. 生成组内递增序号:按code分组后,为每组内的行生成从1开始的递增序号
  3. 拼接新文件名:将序号与后缀拼接,替换原name列

完整代码示例

import pandas as pd

# 构建原始DataFrame
df = pd.DataFrame({
    'name': ['fa.st.pdf', 'creed.txt', 'logs.log', 'log.s.txt', 'foo.bar'],
    'code': [10, 10, 11, 11, 11]
})

# 提取后缀
df['suffix'] = df['name'].str.split('.').str[-1]
# 生成组内递增序号(从1开始)
df['seq'] = df.groupby('code').cumcount() + 1
# 拼接新文件名并替换原name列
df['name'] = df['seq'].astype(str) + '.' + df['suffix']
# 移除临时列
df = df.drop(['suffix', 'seq'], axis=1)

print(df)

输出结果

name  code
0  1.pdf    10
1  2.txt    10
2  1.log    11
3  2.txt    11
4  3.bar    11

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 19:10:50