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

Python:如何重复DataFrame每行组合1到n次并生成对应序列新列?

问题原因

你写的df.loc[df.index.repeat(range(3))]存在参数错误:repeat()方法接收的参数是每个索引对应的重复次数,传入range(3)相当于给第1个索引设置重复0次、第2个索引重复1次,完全不符合每行重复3次的需求。

解决方案

你可以按以下两步实现需求:

  1. 用df.index.repeat(3)让每行重复3次,重置索引后新增Bit列即可
  2. Bit列直接用[1,2,3] * 原df行数生成,刚好匹配每组重复行的顺序要求

完整示例代码

import pandas as pd

# 构造你提供的示例df
df = pd.DataFrame({
    'Store': [11, 11],
    'Aisle': [59, 61],
    'Table': [2, 3]
})

# 1. 每行重复3次,重置旧索引
result = df.loc[df.index.repeat(3)].reset_index(drop=True)
# 2. 新增Bit列
result['Bit'] = [1, 2, 3] * len(df)

print(result)

输出结果

Store  Aisle  Table  Bit
0     11     59      2    1
1     11     59      2    2
2     11     59      2    3
3     11     61      3    1
4     11     61      3    2
5     11     61      3    3

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.23 22:06:00