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

如何使用Python pandas逐行迭代标注结果并生成新列

用Python pandas实现逐行迭代数据集标注并新增列的方法

你可以参考以下两种常用实现方式,优先推荐更高效的apply方法,复杂逻辑需要显式逐行处理时可以用iterrows遍历:

前置准备:导入库并构造示例输入数据

import pandas as pd

# 构造示例输入数据集
df = pd.DataFrame({
    'text': ['Cool', 'Drunk', 'Study'],
    'A': [False, True, False],
    'B': [False, False, True],
    'C': [True, False, False]
}, index=[0,1,2])

方法1:使用apply方法(推荐,性能更高)

如果你的标注逻辑可以封装成独立函数,用apply不需要手动写迭代逻辑,运行效率更高:

# 自定义标注逻辑函数,入参是每一行的Series对象
def get_label(row):
    # 这里替换成你自己的标注逻辑,示例默认返回False,可自行修改
    return False

# 新增Result列存储标注结果
df['Result'] = df.apply(get_label, axis=1)

# 筛选需要的列得到最终输出格式
result_df = df[['text', 'Result']].rename(columns={'text': 'Text'})
print(result_df)

方法2:使用iterrows显式逐行迭代

如果你的标注逻辑非常复杂,需要逐行处理多步操作,可以用iterrows遍历:

# 先初始化Result列,默认值设为False
df['Result'] = False

# 逐行迭代处理
for idx, row in df.iterrows():
    # 这里替换为你自己的标注逻辑,示例直接用默认值,可自行修改
    pass

# 筛选需要的列得到最终输出格式
result_df = df[['text', 'Result']].rename(columns={'text': 'Text'})
print(result_df)

注意:iterrows遍历的性能远低于矢量化操作和apply方法,仅适合数据量较小、逻辑复杂无法用向量化实现的场景使用。

两种方法的输出都和期望格式一致:

Text  Result
index
0       Cool   False
1      Drunk   False
2      Study   False

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 04:24:03