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

如何使用Python Pandas随机复制DataFrame每行0-5次?

使用Pandas实现每行随机复制0-5次

步骤1:导入依赖库

import pandas as pd
import numpy as np

步骤2:构造输入数据集

根据你提供的输入数据,先创建对应的DataFrame:

data = {
    'id': [1, 2, 3, 4],
    'name': ['tim', 'jim', 'john', 'bill']
}
df = pd.DataFrame(data)

步骤3:实现随机复制逻辑

核心思路是为每一行生成1到6次的重复次数(对应复制0到5次:重复1次就是保留原行、复制0次;重复6次就是原行加5次复制),再通过索引重复实现行复制:

# 为每行生成1-6的随机重复次数(randint左闭右开,所以参数是1,7)
repeat_counts = np.random.randint(1, 7, size=len(df))
# 按次数重复行
result_df = df.loc[df.index.repeat(repeat_counts)]
# 重置索引(可选,让索引连续)
result_df = result_df.reset_index(drop=True)

查看结果

运行后打印result_df,就能得到类似你给出的输出示例,比如某次随机结果可能是:

id  name
0   1   tim
1   1   tim
2   2   jim
3   3  john
4   3  john
5   3  john
6   3  john
7   4  bill
8   4  bill
9   4  bill

补充说明

  • 如果需要固定随机结果方便调试,可在生成随机数前加np.random.seed(xxx),比如np.random.seed(42),这样每次运行的复制次数都一致。
  • repeat_counts的取值范围1到6,刚好对应复制次数0到5,完全匹配需求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.29 08:52:18