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

如何简洁实现Pandas DataFrame批量复制?类似字符串乘法的方法

如何简洁地重复Pandas DataFrame多次

嘿,完全理解你的需求!就像字符串乘法那样一行搞定DataFrame重复,确实比手动在pd.concat里写一堆df要高效太多,尤其是重复次数多的时候。这里有两种简洁的方法可以实现:

方法1:利用列表乘法 + pd.concat

这应该是最接近你想要的“字符串乘法”风格的写法,通过把DataFrame放到列表里再做乘法,然后用concat合并:

import pandas as pd

# 先创建你的原始DataFrame
df = pd.DataFrame({
    'col1': ['a', 'b', 'c', 'd', 'e'],
    'col2': [1, 2, 3, 4, 5]
})

# 重复4次,ignore_index=True用来重置索引,避免出现重复的行索引
repeated_df = pd.concat([df] * 4, ignore_index=True)

这样不管你要重复20次还是更多,只需要把4改成对应的数字就行,超级方便!

方法2:利用索引重复 + loc

另一种思路是让原始DataFrame的索引重复指定次数,然后通过loc提取对应的行:

repeated_df = df.loc[df.index.repeat(4)].reset_index(drop=True)

df.index.repeat(4)会把每个原始索引重复4次,比如原始索引是0,1,2,3,4,重复后就变成0,0,0,0,1,1,1,1,...,再用loc取出这些索引对应的行,最后reset_index(drop=True)重置索引就得到你想要的结果了。

两种方法都能得到完全一样的输出,选你觉得更顺手的就行~

内容的提问来源于stack exchange,提问作者Mohamed Thasin ah

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.25 06:56:24