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

为DataFrame分类数据添加标签:婚姻状态调查数据处理

给marstat列添加类别标签的解决方案

你已经把原始婚姻状态列d11104转换成编码后的marstat类别列了,接下来给这些数字编码配上对应文字标签其实很简单,这里有两种靠谱的方法:

方法1:手动映射重命名类别

从你的数据统计结果里,能明确编码和原始标签的对应关系:

  • 0 → keine Angabe
  • 1 → Married
  • 2 → Single
  • 3 → Widowed
  • 4 → Divorced
  • 5 → Separated

直接用cat.rename_categories()方法就能完成标签设置:

# 按编码顺序定义对应的标签列表
labels = ["keine Angabe", "Married", "Single", "Widowed", "Divorced", "Separated"]
df['marstat'] = df['marstat'].cat.rename_categories(labels)

执行完后运行df['marstat'].value_counts(),就能看到带文字标签的统计结果了。

方法2:复用原始列的类别配置(更稳妥)

因为marstat是从d11104的cat.codes生成的,而d11104本身就是带类别标签的Categorical类型,你可以直接复用它的类别信息,避免手动输入出错:

# 建立编码到原始标签的映射字典
code_to_label = dict(enumerate(df['d11104'].cat.categories))
# 用映射字典重命名marstat的类别
df['marstat'] = df['marstat'].cat.rename_categories(code_to_label)

这种方法的优势是,如果后续原始列d11104的类别有调整,你不需要手动修改标签列表,直接复用原始配置即可。

小提醒

确保marstat列的类型是category(你已经用.astype('category')设置过了,所以没问题),设置标签后它依然会保留类别类型,既不影响统计分析的逻辑,又能让输出结果更直观。

内容的提问来源于stack exchange,提问作者E. Sommer

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.26 09:01:12