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

如何用Python为现有DataFrame新增列并依据另一列赋值?

给DataFrame新增科目映射列的解决方案

方法:使用map()函数

这是实现这类固定值映射最简洁高效的方式,步骤如下:

  1. 导入依赖并构造示例DataFrame
import pandas as pd

# 模拟你的原始DataFrame
df = pd.DataFrame({
    'Column A': ['Maths', 'Science', 'English', 'Social', 'Maths', 'English']
})
  1. 定义映射规则字典
    把科目和对应的数字一一对应:
subject_to_num = {
    'Maths': 1,
    'Science': 2,
    'English': 3,
    'Social': 4
}
  1. 新增映射列
    调用map()函数将Column A的值转换为对应数字,新增为新列(比如命名为Subject Code):
df['Subject Code'] = df['Column A'].map(subject_to_num)
  1. 查看结果
    运行后输出的完整DataFrame:
Column A  Subject Code
0      Maths             1
1    Science             2
2    English             3
3     Social             4
4      Maths             1
5    English             3

额外处理:应对未映射的值

如果原始DataFrame中存在不在映射字典里的科目,map()会返回NaN。如果需要给这些值设置默认值,可以用fillna():

# 未映射科目默认设为0
df['Subject Code'] = df['Column A'].map(subject_to_num).fillna(0)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.04 06:15:57