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

Python pandas使用If逻辑按bugs列值复制行并调整数值的实现方案

Pandas行按指定次数复制实现方案

你可以直接使用pandas内置的repeat方法完成需求,完整可运行代码如下:

import pandas as pd

df = pd.DataFrame(data={
  'id': ['A', 'B', 'C'],
  'bugs' : [  1,   2,   3],
})

# 核心实现代码
result = df.loc[df.index.repeat(df['bugs'])].assign(bugs=1).reset_index(drop=True)

print(result)

运行输出结果和你给出的the_result_i_want完全一致。

逻辑说明

  • df.index.repeat(df['bugs']):按照每行bugs列的数值,生成对应重复次数的行索引
  • 通过loc按重复后的索引取行,得到行重复后的DataFrame
  • assign(bugs=1):将所有行的bugs列统一修改为1
  • reset_index(drop=True):重置索引,清除重复的旧索引避免影响后续数据操作
    该方案为pandas原生向量化操作,相比循环逐行复制的写法性能更高,适合处理大批量数据。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 09:09:04