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

如何用更少代码从DataFrame指定行生成n行相同的新DataFrame?

更简洁的实现方式

以下几种方法都能在更少代码行数内完成需求,同时避免低效的循环操作:

  • 方法一:通过pd.concat拼接重复的单行DataFrame
new_df = pd.concat([df.iloc[[idx]]] * n, ignore_index=True)

用df.iloc[[idx]]取出目标行并保持为DataFrame格式,将其重复n次后拼接,ignore_index=True用于重置新DataFrame的索引。

  • 方法二:使用repeat方法复制行
new_df = df.iloc[idx:idx+1].repeat(n).reset_index(drop=True)

先通过切片idx:idx+1获取单行DataFrame,调用repeat(n)实现行重复,最后用reset_index(drop=True)清理原索引,生成连续的新索引。

  • 方法三:直接构造新DataFrame
new_df = pd.DataFrame([df.iloc[idx].values] * n, columns=df.columns)

提取目标行的数值数组并重复n次作为数据,同时指定原DataFrame的列名,直接生成新的DataFrame。

内容的提问来源于stack exchange,提问作者Simon Chemnitz-Thomsen

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 02:30:51