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

基于性别与婚姻状况字段补全姓名前缀并审计问题的技术咨询

姓名前缀字段数据处理方案

一、数据审计与优化建议

  • 审计逻辑:基于Gender(性别)、Marital Status(婚姻状态)两个字段,交叉校验姓名前缀字段的完整性、准确性
    • 可识别的现存问题:
      • 姓名前缀字段空值:即后续需要按规则补全的记录
      • 前缀匹配错误:已填充的前缀和性别、婚姻状态不符合对应规则,例如未婚女性记录填充Mrs、男性记录填充Miss/Mrs这类逻辑错误
      • 基础字段缺失:性别或婚姻状态字段本身为空,无法通过既定规则推导对应前缀,需要人工补录基础信息
      • 枚举值异常:性别字段出现F/M之外的取值、婚姻状态出现M/S之外的取值,导致规则无法正常匹配
    • 优化建议:
      • 空值填充前先完成错配值、异常枚举值的清洗,避免错误数据传导
      • 三个字段新增前端录入校验约束,限制只能输入约定的枚举值,从源头减少异常数据产生
      • 填充完成后做一轮全量逻辑校验,确保所有有效记录的前缀和性别、婚姻状态完全匹配规则

二、空值填充实现

姓名前缀字段空值严格按照以下规则填充:

  • 性别=F(女性)且婚姻状态=M(已婚):填充Mrs
  • 性别=F(女性)且婚姻状态=S(未婚):填充Miss
  • 性别=M(男性)且婚姻状态=M(已婚):填充Mr
  • 性别=M(男性)且婚姻状态=S(未婚):填充Mr

Pandas环境实现代码

import pandas as pd

# 拆分可自动填充、需人工处理的记录:性别/婚姻状态任一为空的记录无法走自动填充逻辑
auto_fill_part = df[df['Gender'].notna() & df['Marital Status'].notna()].copy()
manual_process_part = df[~(df['Gender'].notna() & df['Marital Status'].notna())].copy()

# 定义填充函数
def prefix_match(row):
    # 非空前缀保留原有值,仅对空值做填充
    if not pd.isna(row['Name Prefix']):
        return row['Name Prefix']
    if row['Gender'] == 'F':
        return 'Mrs' if row['Marital Status'] == 'M' else 'Miss'
    if row['Gender'] == 'M':
        return 'Mr'

# 执行填充
auto_fill_part['Name Prefix'] = auto_fill_part.apply(prefix_match, axis=1)

# 合并两部分数据得到最终处理结果
final_df = pd.concat([auto_fill_part, manual_process_part], ignore_index=True)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.30 14:24:18