You need to enable JavaScript to run this app. pandas get_dummies生成哑变量列的自定义命名方法
优惠活动
大模型
产品
解决方案
定价
更多

pandas get_dummies生成哑变量列的自定义命名方法

自定义pd.get_dummies生成的SEX分类哑变量列名实现方案

针对你需要生成目标列名SEX_MALE、SEX_FEMALE的需求,可通过以下几种方式实现:

  • 适配现有代码的最小改动方案
    你当前编写的rename逻辑本身可正常运行,如果SEX列的原始取值就是MALE、FEMALE,现有代码生成的列名完全匹配预期,无需额外调整。如果原始取值是编码形式(比如1/0),只需要将rename的lambda映射替换为字典映射,明确原始值到目标列名的对应关系即可,示例代码:
# 适配原始SEX取值为1=男、0=女的场景
dummy_variable = pd.get_dummies(df['SEX']).rename(columns={
    1: 'SEX_MALE',
    0: 'SEX_FEMALE'
})
  • 利用get_dummies内置参数的高效实现
    pd.get_dummies本身支持通过prefix、prefix_sep两个参数直接定制生成列的命名规则,不需要额外执行重命名操作。只要将prefix设为SEX、prefix_sep设为_,生成列的命名规则即为「前缀_原始分类值」,当原始SEX列的分类值为MALE、FEMALE时,可直接得到目标列名,示例代码:
dummy_variable = pd.get_dummies(
    df['SEX'],
    prefix='SEX',
    prefix_sep='_'
)

这种方式是pandas官方推荐的定制路径,逻辑链路比生成后再重命名更短,执行效率更高。

  • 完全自由指定列名的场景实现
    如果原始分类值和目标列名没有对应关系,需要完全自定义每一列的名称,可在哑变量生成完成后直接按列顺序赋值最终列名,示例代码:
# 生成基础哑变量
dummy_variable = pd.get_dummies(df['SEX'])
# 按哑变量列的生成顺序赋值目标列名
dummy_variable.columns = ['SEX_FEMALE', 'SEX_MALE']

注意:这种直接赋值列名的方式 需要提前确认哑变量的列生成顺序(默认与分类值的排序规则一致),避免出现列名和列内实际取值错配的问题。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.22 23:06:03