当前位置: 首页 > news >正文

【python】get_dummies()用法

目录

1. 基本作用

 2. 语法

常用参数:

 3. 示例讲解

(1)对 Series 使用

(2)对 DataFrame 中的列使用

(3)加前缀

(4)避免虚拟变量陷阱(drop_first=True)


1. 基本作用

pandas.get_dummies() 用于将 分类变量(categorical variable) 转换为 哑变量/指示变量(Dummy Variables),也叫 独热编码(One-Hot Encoding)

👉 通俗点说:把字符串或类别列拆分成若干个二进制列(0 或 1),机器学习更容易处理。


 2. 语法

pd.get_dummies(data, prefix=None, prefix_sep="_", dummy_na=False, columns=None, drop_first=False)

常用参数:

  • data:要转换的数据(Series 或 DataFrame)

  • prefix:新生成列的前缀

  • prefix_sep:前缀与值之间的分隔符(默认 _

  • dummy_na:是否为缺失值生成一列(默认 False)

  • columns:指定要转换的列(DataFrame 时用)

  • drop_first:是否删除第一个类别(避免多重共线性,回归时常用)


 3. 示例讲解

(1)对 Series 使用

import pandas as pds = pd.Series(["red", "green", "blue", "red"])
dummies = pd.get_dummies(s)
print(dummies)

👉 输出:

   blue  green  red
0     0      0    1
1     0      1    0
2     1      0    0
3     0      0    1

(2)对 DataFrame 中的列使用

df = pd.DataFrame({"id": [1, 2, 3, 4],"color": ["red", "green", "blue", "red"],"size": ["S", "M", "L", "M"]
})# 对 color 列进行独热编码
df_dummies = pd.get_dummies(df, columns=["color"])
print(df_dummies)

👉 输出:

   id size  color_blue  color_green  color_red
0   1    S           0            0          1
1   2    M           0            1          0
2   3    L           1            0          0
3   4    M           0            0          1

(3)加前缀

df_dummies = pd.get_dummies(df, columns=["size"], prefix="SIZE")
print(df_dummies)

👉 输出:

   id color  SIZE_L  SIZE_M  SIZE_S
0   1   red       0       0       1
1   2 green       0       1       0
2   3  blue       1       0       0
3   4   red       0       1       0

(4)避免虚拟变量陷阱(drop_first=True)

df_dummies = pd.get_dummies(df, columns=["color"], drop_first=True)
print(df_dummies)

👉 输出(少一列,避免多重共线性):

   id size  color_green  color_red
0   1    S            0          1
1   2    M            1          0
2   3    L            0          0
3   4    M            0          1

✅ 总结:

  • get_dummies() → 分类变量转 0/1 矩阵

  • columns 指定哪些列编码

  • prefix/prefix_sep 控制列名

  • drop_first=True → 回归模型常用,避免虚拟变量陷阱

http://www.dtcms.com/a/346548.html

相关文章:

  • 云原生、容器及数据中心网络相关名词记录
  • 量子计算驱动的Python医疗诊断编程前沿展望(上)
  • 【JVM内存结构系列】一、入门:先搞懂整体框架,再学细节——避免从一开始就混淆概念
  • leetcode 69 x的平方根
  • 【UnityAS】Unity Android Studio 联合开发快速入门:环境配置、AAR 集成与双向调用教程
  • 一个适用于 Word(Mac/Win 通用) 的 VBA 宏:把所有“上角标格式的 0‑9”以及 “Unicode 上角标数字 ⁰‑⁹” 批量删除。
  • 前端安全之XSS和CSRF
  • Mac相册重复照片终结指南:技术流清理方案
  • Bartender 5 Mac 多功能菜单栏管理
  • Android Studio下载gradle文件很慢的捷径之路
  • MySQL深分页的处理方案
  • Java项目:基于SpringBoot和Vue的图书个性化推荐系统(源码+数据库+文档)
  • 小米集团总裁卢伟冰:小米汽车不会参与任何价格战,下半年有望开始盈利
  • WSL Ubuntu数据迁移
  • 把 AI 塞进「电梯按钮」——基于毫米波手势识别的零接触控制面板
  • 网站速度慢?安全防护弱?EdgeOne免费套餐一次性解决两大痛点
  • C语言文件操作精讲:从格式化读写到随机访问
  • 控制建模matlab练习16:线性状态反馈控制器-⑤轨迹追踪
  • 后台管理系统-15-vue3之登录页的实现
  • 谷歌浏览器重定向url,谷歌浏览器浏览网页修改url到本地
  • 批量归一化:不将参数上传到中心服务器,那服务器怎么进行聚合?
  • 基于JSqlParser的SQL语句分析与处理
  • ASCOMP PDF Conversa:高效精准的PDF转换工具
  • 【机器学习深度学习】多模态学习
  • 终结系统裸奔:Debian老旧版本安全加固终极指南
  • 李宏毅NLP-12-语音分类
  • 达梦数据库巡检常用SQL(三)
  • 全国网络安全知识竞赛有哪些
  • androidstudio 无法启动
  • Linux问答题:调优系统性能