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

Pandas如何单行实现多标签列的One hot encoding独热编码

实现方案

存在可直接完成该One-Hot转换的pandas单行代码,无需编写循环或多步拼接处理。

  • 核心使用pandas内置的交叉表统计方法pd.crosstab(),按学生维度统计对应科目的选课情况,选中记为1、未选中记为0,输出结构完全匹配目标格式。
  • 假设原始数据集存储在列名为Name、Subject的DataFrame对象df中,基础转换单行代码如下:
result = pd.crosstab(index=df['Name'], columns=df['Subject']).reset_index()
  • 如果需要完全移除列维度的默认索引名,让表格样式和示例完全一致,可调整为如下版本:
result = pd.crosstab(index=df['Name'], columns=df['Subject']).reset_index().rename_axis(columns=None)
  • 代码运行后会自动提取所有不重复的科目作为独立列,每个学生对应单独一行,数值填充规则、列排序结果均和给出的示例匹配。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.29 15:51:41