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

如何修改Pandas代码以保留男女样本并完成性别列数值映射?

修正性别列处理代码,确保正确保留男女样本

原代码的问题在于,它把所有非"F"的条目(包括空值、拼写错误的性别值等)都统一标记为1(男性),这会导致非男非女的异常样本被误归类,无法准确保留真实的男女样本。

下面提供两种修改方案,根据你的需求选择:

方案1:仅标记明确的男女,异常值设为NaN

这种方式会把明确的"F"转为0,"M"转为1,其他所有无法识别的值设为NaN,方便后续对异常值进行过滤或填充:

import numpy as np

data['Gender'] = data['Gender'].str.strip()
# 嵌套np.where实现双条件判断
data['Gender'] = np.where(data['Gender'] == "F", 0, 
                          np.where(data['Gender'] == "M", 1, np.nan))
data['Gender'] = data['Gender'].astype(float)

方案2:保留原始异常值,仅转换已知男女

如果需要保留无法识别的原始性别值(用于后续排查数据问题),可以使用字典映射的方式:

data['Gender'] = data['Gender'].str.strip()
# 定义男女对应的数值映射
gender_mapping = {"F": 0.0, "M": 1.0}
# 仅转换匹配到的键,未匹配的保持原始值
data['Gender'] = data['Gender'].map(gender_mapping)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.11 20:46:15