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

如何在Pandas DataFrame列中拼接字符串与连续整数序列

解决方案

你之前的问题出在直接把range对象转换成了字符串,导致每一行都得到了range(...)的文本,而不是逐个生成对应的数字后缀。以下几种单行代码都能实现需求:

方法1:列表推导式(最直观)

dataframe['new column'] = [f'ABCD_{i}' for i in range(z + 1, z + 1 + len(dataframe))]

这里range(z+1, z+1+len(dataframe))会生成从z+1开始、长度和dataframe一致的连续整数,通过列表推导式逐个和前缀拼接成字符串。

方法2:Pandas Series拼接

dataframe['new column'] = 'ABCD_' + pd.Series(range(z + 1, z + 1 + len(dataframe))).astype(str)

先把连续整数转换成Pandas的字符串Series,再和固定前缀字符串进行广播拼接。

方法3:Numpy数组拼接(适合大数据量)

import numpy as np
dataframe['new column'] = 'ABCD_' + np.arange(z + 1, z + 1 + len(dataframe)).astype(str)

用numpy.arange生成连续整数数组,转成字符串后和前缀拼接,性能比列表推导式更优。

如果你的新列长度需要和another_dataframe一致,只需要把代码里的len(dataframe)替换成len(another_dataframe)即可,注意要确保两个DataFrame长度匹配,避免赋值时的长度不匹配错误。

内容的提问来源于stack exchange,提问作者Thomas Hemming Larsen

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.07 21:05:25