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

Python Pandas:如何基于两个列表更新DataFrame列值

实现DataFrame产品名称替换为对应数值的方法

首先,我们可以先把给定的两个列表转换成映射字典,用产品名称作为键,对应数值作为值,这样就能快速完成替换。

具体步骤:

  1. 创建映射字典
    用zip()把list1和list2配对,再转成字典:

    mapping_dict = dict(zip(list1, list2))
    

    生成的字典为:{'Pear':1, 'Lemon':2, 'Apple':3, 'Orange':4}

  2. 两种替换方法

    • 方法一:使用map()方法
      直接对Product列调用map(),传入映射字典即可:

      import pandas as pd
      
      # 原始DataFrame
      df = pd.DataFrame({
          'Company_Name': ['A', 'B', 'C', 'D'],
          'Product': ['Apple', 'Orange', 'Pear', 'Lemon']
      })
      
      list1 = ['Pear', 'Lemon', 'Apple', 'Orange']
      list2 = [1, 2, 3, 4]
      
      # 创建映射字典
      mapping_dict = dict(zip(list1, list2))
      
      # 替换Product列
      df['Product'] = df['Product'].map(mapping_dict)
      
    • 方法二:使用replace()方法
      如果需要原地修改DataFrame,可以用replace()并设置inplace=True:

      df['Product'].replace(mapping_dict, inplace=True)
      

执行后得到的结果:

Company_NameProduct
A3
B4
C1
D2

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 12:20:31