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

pandas拼接带连续索引ID的DataFrame后删行及重编号问题咨询

方案1:拼接前直接截取df1非首行内容生成df2(推荐)

你要的从首行之后截取的需求可以直接用iloc索引实现,跳过df1的第一行再复制生成df2,拼接后无需额外处理就能直接得到符合要求的结果,代码修改如下:

import pandas as pd

df1 = pd.DataFrame({
    'ID': [1,2,3],
    'Name': ['Car1', 'Car2', 'Car3'],
    'Number': [0,1,2]
    })

# 直接截取df1索引1及之后的行,跳过首行Car1
df2 = df1.iloc[1:].copy()

df2['ID'] += len(df1)
df2['Number'] += len(df1)
final_df2 = pd.concat([df1, df2], ignore_index=True)

运行后final_df2就是你要的理想输出结果。

方案2:拼接完成后删除目标行再重置编号

如果已经完成拼接,可先删除重复的第二个Car1行,再重新生成连续的ID和Number列即可:

# 保留Name列第一次出现的行,删除第二次出现的Car1行
final_df2 = final_df2[~final_df2.duplicated(subset='Name', keep='first')].reset_index(drop=True)
# 重置连续编号
final_df2['ID'] = range(1, len(final_df2)+1)
final_df2['Number'] = range(len(final_df2))

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 08:57:04