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

如何在Pandas中基于另一列添加自定义值的新列

自定义类别到数值的映射方案

这事儿好办!要给你的g列添加自定义的数值映射,只需要两步:先定义好你的映射关系,再用Pandas的工具把它应用到列上就行,我结合你的例子详细说下:

步骤1:创建自定义映射字典

首先你需要把每个类别(比如你的A-J,实际工作中替换成你的名称)和对应的数值一一对应,写成字典的形式:

# 替换成你实际工作中的名称和对应值即可
category_mapping = {
    'A': 1,
    'B': 2,
    'C': 3,
    'D': 4,
    'E': 5,
    'F': 6,
    'G': 7,
    'H': 8,
    'I': 9,
    'J': 10
}

步骤2:用map()生成新列

接下来直接用Pandas的map()方法,把这个映射应用到g列上,就能生成你要的new列了:

df['new'] = df['g'].map(category_mapping)

效果展示

运行后你的DataFrame会变成这样(截取部分行):

x  g  new
0  64.038123  A    1
1  66.147050  B    2
2  66.370011  C    3
3  68.791019  D    4
4  70.583534  E    5
...      ... ..  ...
499 74.461828  J   10

额外小技巧

  • 如果你的需求更简单,也可以用replace()方法,效果完全一致:
    df['new'] = df['g'].replace(category_mapping)
    
  • 要是g列里存在不在映射字典中的值,map()会返回NaN,你可以用fillna()给这些值设置默认值:
    # 这里把未知类别设为0,你可以改成自己需要的默认值
    df['new'] = df['g'].map(category_mapping).fillna(0)
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.07 20:47:53