博客
关于我
pandas.columns、get_dummies等用法
阅读量:794 次
发布时间:2023-02-26

本文共 1392 字,大约阅读时间需要 4 分钟。

pandas 中的 get_dummies 函数:分类变换与缺失值处理

在数据分析中,get_dummies 函数是一个强大的工具,用于将分类变量转换为一组互斥的 dummy 变量。以下是关于如何使用该函数以及处理缺失值的详细指南。

一、基础用法

首先,我们需要导入 pandas 库,并创建一个包含分类变量的 DataFrame:

import pandas as pd
df = pd.DataFrame([
['green', 'A'],
['red', 'B'],
['blue', 'A']
])
df.columns = ['color', 'grade'] # 为每列添加标题

接下来,使用 pd.get_dummies(df) 函数,将分类列转换为 dummy 列:

pd.get_dummies(df)

执行结果:

  • 这个函数会将分类列中的每一个值转换为对应的 1 或 0,表示该值是否存在。
  • 结果会在原始 DataFrame 的基础上添加新的列,例如 greenred 会被转换为 greenred 列。

示例输出:

color grade green red
green A 1 0
red B 0 1
blue A 1 0

二、指定特定列进行分类

如果你只想将某一列进行分类,可以通过 pd.get_dummies() 的参数指定:

pd.get_dummies(df, columns=['grade'])

执行结果:

  • 只对 grade 列进行分类,生成 AB 两列。
color grade A B
green A 1 0
red B 0 1
blue A 1 0

三、将分类结果合并到原始数据

如果需要将分类结果合并到原始 DataFrame 中,可以使用 join 函数:

df.join(pd.get_dummies(df.grade))

执行结果:

  • 结果会将原有的 colorgrade 列与新生成的分类列合并在一起。
color grade green red A B
green A 1 0 1 0
red B 0 1 0 1
blue A 1 0 1 0

四、处理缺失值

如果分类列中存在缺失值,可以通过 dummy_na=True 参数生成额外的 NaN 列:

import numpy as np
df = pd.DataFrame([
['green', 'A'],
['red', 'B'],
['yellow', np.nan],
['blue', 'A']
])
df.columns = ['color', 'grade']

使用 pd.get_dummies 处理缺失值:

pd.get_dummies(df, dummy_na=True)

执行结果:

  • 会在结果中添加一列 nan,表示缺失值对应的分类。
color grade green red A B nan
green A 1 0 1 0 0
red B 0 1 0 1 0
yellow NaN 0 0 0 0 1
blue A 1 0 1 0 0

通过上述方法,你可以轻松地将分类变量转换为 dummy 变量,并处理缺失值问题。希望这篇文章能帮助你更好地掌握 pandas 库的使用!

转载地址:http://kpvfk.baihongyu.com/

你可能感兴趣的文章
Oracle笔记(十三) 视图、同义词、索引
查看>>
Oracle笔记(十) 约束
查看>>
Oracle系列:安装Oracle RAC数据库(二)
查看>>
oracle系统 介绍,ORACLE数据库管理系统介绍
查看>>
oracle获取数据库表、字段、注释、约束等
查看>>
oracle表空间查询维护命令大全之三(暂时表空间)史上最全
查看>>
oracle表访问方式
查看>>
Oracle触发器
查看>>
Oracle计划将ZGC项目提交给OpenJDK
查看>>
oracle账号共享
查看>>
Oracle闪回技术(Flashback)
查看>>
oracle零碎要点---ip地址问题,服务问题,系统默认密码问题
查看>>
oracle零碎要点---oracle em的web访问地址忘了
查看>>
Oracle零碎要点---多表联合查询,收集数据库基本资料
查看>>
Oracle静默安装
查看>>
【Bert101】变压器模型背后的复杂数学【02/4】
查看>>
Oracle面试题:Oracle中truncate和delete的区别
查看>>
ThreadLocal线程内部存储类
查看>>
thinkphp 常用SQL执行语句总结
查看>>
Oracle:ORA-00911: 无效字符
查看>>