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

如何按指定次数重复DataFrame行并生成分组序列列?

问题描述

现有如下DataFrame:

plazomonto
202
503

需要完成两个操作:

  • 根据plazo列的值重复对应行n次(比如第一行重复20次,第二行重复50次)
  • 新增Semana列,为每个plazo分组分配从1开始的连续递增数值

预期结果如下:

plazomontoSemana
2021
2022
.........
20220
5031
5032
.........
50350
解决方案

可以通过Pandas的repeat()和分组计数实现需求,代码如下:

import pandas as pd

# 初始化原始DataFrame
df = pd.DataFrame({
    'plazo': [20, 50],
    'monto': [2, 3]
})

# 按plazo值重复对应行
df_repeated = df.loc[df.index.repeat(df['plazo'])]

# 为每个plazo分组生成从1开始的递增Semana列
df_repeated['Semana'] = df_repeated.groupby('plazo').cumcount() + 1

# 输出结果
print(df_repeated)

代码说明

  • df.index.repeat(df['plazo']):基于索引重复机制,根据plazo的数值重复对应行数
  • groupby('plazo').cumcount() + 1:按plazo分组后对组内行计数,加1让计数从1起始,匹配Semana的要求

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.02 03:20:18