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

如何在Python中修改DataFrame的Run_time列实现连续编号

将分段重复的Run_time列修改为连续递增编号

原始数据集

# 导入所需库
import pandas as pd

# 创建数据集
data = {'team': ['A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A'],
        'Run_time': [1, 2, 3, 4, 5, 1, 2, 3, 1, 2, 3, 4],
        'Married': ['No', 'Yes', 'Yes', 'Yes', 'No', 'Yes', 'Yes', 'Yes', 'No', 'Yes', 'Yes', 'No'],
        'Self_Employed': ['No', 'No', 'Yes', 'No', 'No', 'No', 'Yes', 'No', 'No', 'Yes', 'No', 'No'],
        'LoanAmount': [123, 128, 66, 120, 141, 52,96,15,85,36,58,89],
        }

# 转换为DataFrame
df = pd.DataFrame(data)
print("原始df = \n", df)

需求说明

当前Run_time列是分段重复从1开始的序列,需要将其修改为从1开始的全局连续递增编号(最终序列为[1,2,3,4,5,6,7,8,9,10,11,12])。

解决方案

方法1:直接生成连续序列赋值

利用Python内置range生成从1到DataFrame行数的连续序列,直接替换原列:

df['Run_time'] = range(1, len(df) + 1)

也可以用numpy的arange实现相同效果:

import numpy as np
df['Run_time'] = np.arange(1, len(df) + 1)

方法2:利用索引重置生成编号

通过重置索引并调整起始值生成连续编号:

df['Run_time'] = df.reset_index(drop=True).index + 1

扩展:分组内连续递增(可选)

如果后续需要按team分组,每个组内生成从1开始的连续编号,可使用groupby结合cumcount:

df['Run_time'] = df.groupby('team').cumcount() + 1

验证结果

执行上述任意方法后,打印DataFrame即可看到修改后的效果:

print("修改后df = \n", df)

输出的Run_time列将是1到12的连续递增序列。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.02 18:40:31