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

Pandas 根据Flag条件复制行并修改assigned_code列值的实现方法

完整实现代码

你可以直接运行以下代码得到符合要求的结果,逻辑非常直白易懂,适合新手:

import pandas as pd

# 第一步:构造示例DataFrame(你实际使用时替换成自己的df即可)
data = [
    ["Thomas McMann", 30, 0, 0, 1172],
    ["Johnny Chien", 25, 0, 1, 1172],
    ["Robert McDoe", 68, 1, 0, 1172],
    ["Jason Singh", 104, 1, 0, 1172],
    ["Sarah Jessica", 13, 0, 0, 1172]
]
df = pd.DataFrame(data, columns=["Name", "Age", "Flag", "Flag2", "assigned_code"])

# 第二步:分别筛选需要复制的行,修改对应assigned_code值
flag1_copy = df[df["Flag"] == 1].copy()
flag1_copy["assigned_code"] = 1105

flag2_copy = df[df["Flag2"] == 1].copy()
flag2_copy["assigned_code"] = 1050

# 第三步:合并原数据和复制的行,按原索引排序保证顺序符合预期
result = pd.concat([df, flag1_copy, flag2_copy]).sort_index().reset_index(drop=True)

# 打印验证结果
print(result)

运行后输出和你给出的预期结果完全一致。

逻辑说明

  • 全程不修改原有行的任何内容,原数据完整保留
  • 单独筛选出Flag=1/Flag2=1的行做复制,批量修改对应assigned_code值
  • 合并后按原索引排序,保证复制行紧跟在对应原行的后面,最后重置索引即可

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 09:57:03