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

Python如何根据DataFrame另一列内容向对应行的list字段追加值

问题原因

你使用的str.append是Pandas针对字符串类型列提供的方法,仅适用于给字符串追加内容。但你的label列每个元素都是Python列表,调用字符串方法自然无法得到预期结果。

正确实现代码

# 1. 构造匹配颜色的掩码,加参数避免大小写、空值报错
color_mask = data['body'].str.contains(r'red|blue', case=False, na=False)

# 2. 对匹配到的行的label列表追加元素
data.loc[color_mask, 'label'] = data.loc[color_mask, 'label'].apply(lambda x: x + ['color'])

完整可运行示例

import pandas as pd

# 构造测试数据
data = pd.DataFrame({
    'body': ['the sky is blue', 'the apple is red.', "Let's take a walk"],
    'label': [['noun'], ['noun'], ['verb']]
})

# 执行匹配+追加逻辑
color_mask = data['body'].str.contains(r'red|blue', case=False, na=False)
data.loc[color_mask, 'label'] = data.loc[color_mask, 'label'].apply(lambda x: x + ['color'])

print(data)

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

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 20:36:05