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

如何从pandas数据框文本列提取多个指定字符串存入列表字段

pandas多材质匹配代码修改方案

原有代码的问题

  • 冗余的字符遍历逻辑:代码中for i in temp是遍历描述文本的单个字符,所有判断逻辑均针对完整文本,该循环无实际作用
  • 互斥判断逻辑错误:使用elif做条件判断,只要第一个条件匹配成功,后续所有材质判断都会直接跳过,无法同时匹配多个材质
  • 返回时机错误:return lst写在循环内部,第一次条件判断结束就直接返回结果,不会执行后续的材质匹配逻辑

修改后的完整代码

import pandas as pd
data = {'Product Description': [': da tổng hợp, khung gỗ sồi canada.', ': gỗ mfc phủ melamine, chân thép sơn tĩnh']}
df = pd.DataFrame(data)

def add_material(row):
    lst = []   
    temp = row['Product Description'] 
    # 每个材质做独立if判断,支持同时匹配多个
    if 'da tổng hợp' in temp:
        lst.append('Synthetic Leather')
    if 'gỗ sồi' in temp:
        lst.append('Oak')
    if 'gỗ mfc phủ melamine' in temp:
        lst.append('Melamine coated MFC Wood')
    if 'chân thép' in temp:
        lst.append('Steel')
    # 所有判断完成后再返回结果
    return lst

df['Material'] = df.apply(add_material, axis = 1)

运行后df['Material']输出完全符合预期:

0           [Synthetic Leather, Oak]
1    [Melamine coated MFC Wood, Steel]
Name: Material, dtype: object

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 08:45:08