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

如何使用where()创建带条件特征?基于性别编码场景需求

使用pandas where()创建isMale特征

假设你已经导入了pandas库,以下是具体实现方法:

1. 创建新特征并保留原Gender列

利用pandas的where()方法,结合替换逻辑实现:

# 第一步:当Gender为female时保留原值,否则赋值为1
df['isMale'] = df['Gender'].where(df['Gender'] == 'female', 1)
# 第二步:将剩余的female替换为0
df['isMale'] = df['isMale'].replace('female', 0)

或者更简洁的链式写法:

df['isMale'] = df['Gender'].where(df['Gender'] == 'male', 0).replace('male', 1)

2. 替换原Gender列

如果需要直接用新特征替换原Gender列:

# 先完成值的替换
df['Gender'] = df['Gender'].where(df['Gender'] == 'female', 1)
df['Gender'] = df['Gender'].replace('female', 0)
# 重命名列为isMale
df.rename(columns={'Gender': 'isMale'}, inplace=True)

补充参考:更简洁的numpy.where写法

虽然你指定使用where()方法,但实际场景中numpy.where的逻辑更直观,也可以作为替代:

import numpy as np
df['isMale'] = np.where(df['Gender'] == 'male', 1, 0)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 21:20:28