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

如何用Pandas将DataFrame向前填充(ffill)四次?

高效重复DataFrame指定行的实现方案

直接给你最快最简的方案——用pandas的index.repeat()配合loc操作,一步到位,比ffill高效得多,尤其适合需要重复执行的脚本场景。

步骤示例:

  1. 先构造你的初始DataFrame:
import pandas as pd

# 初始DataFrame
df = pd.DataFrame({'A': [1, 2, 3], 'B': [1, 2, 3], 'C': [1, 2, 3]})
  1. 定义每一行需要重复的次数(对应你的需求:第一行4次、第二行4次、第三行5次),然后生成目标DataFrame:
# 指定每行重复次数
repeat_counts = [4, 4, 5]
# 核心操作:重复索引后提取对应行
result_df = df.loc[df.index.repeat(repeat_counts)]
  1. 重置索引(可选,如果你需要连续的整数索引):
result_df = result_df.reset_index(drop=True)

为什么这个方案更好?

  • 速度最快:这是pandas原生的向量化操作,直接基于索引重复行,没有中间的空值填充步骤,性能远优于ffill的方式,尤其当DataFrame规模较大时差距更明显。
  • 代码简洁:一行核心代码完成需求,可读性高,维护成本低,适合重复执行的脚本。

验证结果

运行上述代码后,result_df的输出就是你想要的:

A  B  C
0  1  1  1
1  1  1  1
2  1  1  1
3  1  1  1
4  2  2  2
5  2  2  2
6  2  2  2
7  2  2  2
8  3  3  3
9  3  3  3
10 3  3  3
11 3  3  3
12 3  3  3

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.27 06:42:46