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

如何在Pandas DataFrame中按前一行值新增指定数量id为空的行

原有代码存在两个问题:

  • append 方法已在Pandas 2.0+版本正式弃用,不仅性能低下,运行时还会触发警告
  • df.tail(1).add(1) 会对所有列统一执行加1操作,导致id列也被修改,不符合需求

推荐实现方案

不需要循环拼接,直接生成指定长度的新数据再合并即可,性能更高写法也更简洁:

import numpy as np

n = 30
# 取现有number列的最大值
current_max_num = df['number'].max()
# 构造新行数据
new_df = pd.DataFrame(
    {
        'id': [np.nan] * n,
        'number': range(current_max_num + 1, current_max_num + n + 1)
    }
)
# 合并原有数据和新数据,重置索引
df = pd.concat([df, new_df], ignore_index=True)

执行后即可得到预期结果:原有数据保持不变,新增30行的id列为空值,number列从7开始依次递增到36。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 08:27:02