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

如何在Pandas DataFrame中复制指定行并为新增行设置递增ID

你现有代码的筛选逻辑存在错误,ID列存储的是数值1-4,分类是Type列,所以首先要修正筛选条件。完整的实现步骤如下:

步骤1:正确筛选目标行

import pandas as pd

# 原始数据集
df = pd.DataFrame({'ID': [1,2,3,4],
                   'Type': ['A', 'B', 'C', 'D'],
                   'Value': [100, 200, 201, 120]})

# 筛选Type为B的行,加copy避免后续修改触发链式索引警告
df_B = df[df['Type'] == 'B'].copy()

步骤2:复制行并更新ID为递增序列

你可以按照需求选择固定起始ID,或者自动从原数据集最大ID+1开始生成递增ID:

copy_times = 4 # 需要复制的次数

# 复制行并重置索引,方便后续赋值
df_B = pd.concat([df_B] * copy_times, ignore_index=True)

# 方式1:固定从10开始生成递增ID(和你示例的预期结果一致)
df_B['ID'] = range(10, 10 + copy_times)

# 方式2:自动适配原数据集最大ID,从最大ID+1开始递增(通用性更强)
# start_id = df['ID'].max() + 1
# df_B['ID'] = range(start_id, start_id + copy_times)

步骤3:将处理后的新行追加到原数据集

df = pd.concat([df, df_B], ignore_index=True)

运行后输出的df就和你预期的结果完全一致。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 18:39:00