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

如何使用Pandas根据首个code_status元素映射生成Product列?

实现方法(以Python Pandas为例)

核心思路是先把第一个数据集转换成code到产品的映射字典,再提取第二个数据集里每个code列表的首个元素,通过字典匹配得到对应的产品。

步骤1:构建code与Product的映射字典

先把第一个数据集转成字典,这样查询匹配的效率更高:

import pandas as pd

# 假设第一个数据集是df1(实际使用时替换成你的数据读取方式,比如pd.read_csv)
data1 = {
    'code_status': [5342, 4231, 5227, 6232, 7342],
    'Product': ['Home Product', 'Appliance Product', 'Home Product', 'Furniture Product', 'Electronic Product']
}
df1 = pd.DataFrame(data1)

# 生成code到Product的映射字典
code_product_map = df1.set_index('code_status')['Product'].to_dict()

步骤2:处理第二个数据集,提取首个code并映射

针对第二个数据集,先取出每个code列表的第一个元素,再用字典映射出对应的Product:

# 假设第二个数据集是df2(实际替换成你的数据读取方式)
data2 = {
    'unique_id': ['asd6767s', 'hfed44hh', 'dffd4f3g', '3hbh333y'],
    'code_status': [[6232,5598], [4534,6344,2337,2344], [5343,6667,2563], [7454,2323,8855,2066]]
}
df2 = pd.DataFrame(data2)

# 提取每个code列表的首个元素,并用字典映射Product;找不到匹配项时返回'Unknown Product'
df2['Product'] = df2['code_status'].apply(lambda x: code_product_map.get(x[0], 'Unknown Product'))

运行结果示例

执行上述代码后,df2会新增Product列,输出如下:

unique_id               code_status            Product
0  asd6767s              [6232, 5598]  Furniture Product
1  hfed44hh  [4534, 6344, 2337, 2344]    Unknown Product
2  dffd4f3g        [5343, 6667, 2563]    Unknown Product
3  3hbh333y  [7454, 2323, 8855, 2066]    Unknown Product

注意事项

  • 如果你的第二个数据集中code_status是字符串格式(比如"[6232,5598]"),需要先把字符串转成列表,再提取首个元素,比如用ast.literal_eval处理:
    import ast
    df2['code_status'] = df2['code_status'].apply(ast.literal_eval)
    
  • 确保两个数据集中code_status的类型一致(比如都是整数),如果第二个数据集里的code是字符串,要先转成整数再映射。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.16 16:57:17