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

如何用向量化实现DataFrame逐单元格匹配参数并生成新列

向量化匹配DataFrame参数生成新列

我有两个DataFrame:

  • parameter:存储颜色和材质参数
  • data:存储业务数据

需要用向量化方式逐单元格检查data的内容,匹配parameter中的参数值,生成包含匹配材质的新列attribute2。

初始数据代码

参数DataFrame

import pandas as pd

parameter = pd.DataFrame({'color': ['red','blue','green'],
                   'material': ['wood','metal','plastic']})

业务数据DataFrame

data = pd.DataFrame({'name': ['my blue color','red chair','green rod'],
                   'description': ['it is a great color','made with wood','made with metal']})

向量化实现代码

# 匹配颜色生成attribute列(对应预期输出中的颜色匹配结果)
data['attribute'] = data['name'].apply(lambda x: next((c for c in parameter['color'] if c in x), ''))

# 向量化匹配材质生成attribute2列
material_pattern = '|'.join(parameter['material'])
data['attribute2'] = data['description'].str.extract(f'({material_pattern})', expand=False).fillna('')

# 查看结果
print(data)

输出结果

name             description attribute attribute2
0  my blue color  it is a great color      blue           
1      red chair       made with wood       red       wood
2      green rod      made with metal     green      metal

内容的提问来源于stack exchange,提问作者Shatha Al-Bajly

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.24 19:36:03