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

如何插入基于前一行的虚拟行,使Pandas数据框列值连续递增

补全Pandas数据中缺失的连续行(基于前一行填充)

要实现补全v1列的连续值,并将缺失行的v2值用前一行的值填充,可按以下步骤操作:

  1. 生成完整的连续v1序列
    先获取原数据中v1的最小和最大值,创建一个包含所有连续整数的DataFrame,确保没有遗漏值。

  2. 合并数据并前向填充缺失值
    将原数据与完整序列左连接,用前向填充(ffill())补全v2列的缺失值,最后整理索引。

完整代码示例:

import pandas as pd

data = [
    [1,'A'],
    [2,'B'],
    [3,'C'],
    [4,'D'],
    [5,'E'],
    [7,'G'],
    [9,'H'],
    [10,'I']
]
    
df = pd.DataFrame(data, columns=['v1','v2'])

# 生成完整的v1连续序列
full_v1 = pd.DataFrame({'v1': pd.RangeIndex(start=df['v1'].min(), stop=df['v1'].max()+1)})

# 合并并前向填充
result_df = full_v1.merge(df, on='v1', how='left').ffill().reset_index(drop=True)

print(result_df)

运行后输出结果:

v1 v2
0    1  A
1    2  B
2    3  C
3    4  D
4    5  E
5    6  E
6    7  G
7    8  G
8    9  H
9   10  I

可以看到,缺失的v1=6和v1=8都被补全,对应的v2值分别沿用了前一行的E和G,符合需求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.10 21:53:13