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

Pandas_ get_dummies独热编码

pd.get_dummies 是 Pandas 库中的一个函数,用于将分类变量转换为“哑变量”或“独热编码”(One-Hot Encoding),这是处理分类数据的一种常用技术。这种编码方式可以使得模型能够更好地处理非数值变量。
基本用法

  1. 转换单个列:
    将 DataFrame 中的一列转换为哑变量。
import pandas as pddf = pd.DataFrame({'color': ['red', 'green', 'blue']})
dummies = pd.get_dummies(df, columns=['color'])
print(dummies)

输出结果:
color_blue color_green color_red
0 0 0 1
1 0 1 0
2 1 0 0

  1. 转换多个列:
    同时转换 DataFrame 中的多个列。
df = pd.DataFrame({'color': ['red', 'green', 'blue'], 'size': ['S', 'M', 'L']})
dummies = pd.get_dummies(df, columns=['color', 'size'])
print(dummies)

输出结果:
color_blue color_green color_red size_L size_M size_S
0 0 0 1 0 0 1
1 0 1 0 0 1 0
2 1 0 0 1 0 0

参数说明
• columns: 指定需要转换的列名。如果不指定,则转换所有对象类型的列。
• prefix: 为生成的哑变量列添加前缀。可以是列名或一个由列名组成的列表。
• prefix_sep: 前缀和值之间的分隔符,默认为空格。
• dummy_na: 是否为缺失值创建一个哑变量,默认为 False。
• columns: 指定需要转换的列。
• sparse: 返回稀疏矩阵格式的数据,默认为 False。
高级用法

  1. 添加前缀:
    使用 prefix 参数为生成的哑变量列添加前缀。
df = pd.DataFrame({'color': ['red', 'green', 'blue']})
dummies = pd.get_dummies(df, columns=['color'], prefix='color')
print(dummies)

输出结果:
color_blue color_green color_red
0 0 0 1
1 0 1 0
2 1 0 0

  1. 处理缺失值:
    使用 dummy_na=True 为缺失值创建一个哑变量。
df = pd.DataFrame({'color': ['red', 'green', None]})
dummies = pd.get_dummies(df, columns=['color'], dummy_na=True)
print(dummies)

输出结果:
color_green color_red color_nan
0 0 1 0
1 1 0 0
2 0 0 1

  1. 返回稀疏矩阵:
    使用 sparse=True 返回稀疏矩阵格式的数据,节省内存。
df = pd.DataFrame({'color': ['red', 'green', 'blue']})
dummies = pd.get_dummies(df, columns=['color'], sparse=True)
print(dummies)

输出结果:
<class ‘pandas.core.sparse.DataFrame’>

pd.get_dummies 是处理分类数据的强大工具。


http://www.mrgr.cn/news/35868.html

相关文章:

  • Vue自定义指令详解——以若依框架中封装指令为例分析
  • c语言第九章,结构体
  • 数据重塑:长宽数据转换【基于tidyr】
  • 会议直击|美格智能受邀出席第三届无锡智能网联汽车生态大会,共筑汽车产业新质生产力
  • 项目模块详细说明
  • python可视化自动打包工具auto-py-to-exe使用介绍
  • 生成式语言模型底层技术面试
  • yolov5和yolov2目标检测算法的训练和学习(hi3516)
  • 巨形象,这样看TCP和UDP的区别太简单了
  • 企微营销工具:赋能企业数字化转型的营销利器
  • Spring Boot 自动装配机制实战与业务案例
  • 视频融合共享平台LntonAIServer视频智能分析抖动检测算法和过亮过暗检测算法
  • 月薪45-60k!真心建议大家冲一冲数字化行业新兴领域,工资高前景好!
  • [论文速读] Multimodal Fusion on Low-quality Data:A Comprehensive Survey 低质多模态数据融合综述
  • 人工智能武器化与国家网络威慑机制选择
  • 微软Azure 解决方案架构师专家认证(AZ305认证)
  • Day28笔记-Python自动化操作Word
  • AIoT应用开发:如何远程查看摄像头,RTSP/RTMP 推流了解下?
  • 什么是组态、组态的应用场景介绍
  • UE4_Niagara基础实例—使用自定义参数
  • 图论系列(dfs)9.25
  • 问题:机器字长为n位的二进制数可以用补码来表示()个不同的有符号定点整数。
  • 2.1 HuggingFists系统架构(一)
  • java-substring 使用及注意事项
  • Elasticsearch7.7.1集群不能相互发现的问题解决以及Elasticsearch7.7.1安装analysis-ik中文分词插件的应用
  • 【ARM 嵌入式 C 入门及渐进 6.1 -- GCC 内建函数详细介绍】