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

向预加载pandas DataFrame追加行并自动生成递增LeaveID索引方法

实现方案

针对你的需求(LeaveID为DataFrame索引,新行索引为当前最后一行索引值+1),可通过以下两种成熟方法实现,无需手动固定索引值。

方法1:pd.concat合并(官方推荐长期维护写法)

这是已被弃用的df.append()的官方替代方案,长期兼容性最好:

# 计算新行对应的LeaveID,比最后一行索引大1
new_leave_id = df.index[-1] + 1

# 基于你预先定义的row字典构造带指定索引的单行临时DataFrame
new_row_df = pd.DataFrame(row, index=[new_leave_id])

# 将临时行合并到原DataFrame
df = pd.concat([df, new_row_df])

方法2:loc直接索引赋值(代码简洁、兼容性强)

兼容几乎所有pandas版本,代码量最少:

# 计算新行索引
new_leave_id = df.index[-1] + 1

# 直接给指定索引位置传入行数据
df.loc[new_leave_id] = row

关键注意点

  • row字典的键必须和原DataFrame的列名完全一致,否则会触发列不存在的报错
  • 两种方法都不会打乱原DataFrame的列顺序
  • 不要使用已弃用的df.append()写法:pandas 1.4.0以上版本调用该方法会触发弃用警告,后续大版本会彻底移除该接口
  • 空表场景兼容:如果DataFrame可能存在无数据的空状态,计算新索引的语句可优化为 new_leave_id = 1 if df.empty else df.index[-1] + 1,避免空表时取最后一个索引触发越界报错

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.27 04:06:04