pandas:get_dummies()与pd.factorize()的用法及区别说明


Posted in Python onMay 21, 2021

1.get_dummies()

pandas.get_dummies(data, prefix=None, prefix_sep='_', dummy_na=False, columns=None,sparse=False, drop_first=False):Convert categorical variable into dummy/indicator variables

>>> import pandas as pd
>>> s = pd.Series(list('abca'))
>>> pd.get_dummies(s)
   a  b  c
0  1  0  0
1  0  1  0
2  0  0  1
3  1  0  0

2.pd.factorize()

pandas.factorize(values, sort=False, order=None, na_sentinel=-1,size_hint=None):Encode input values as an enumerated type or categorical variable

Series.factorize(sort=False, na_sentinel=-1):Encode the object as an enumerated type or categorical variable

Pandas有一个方法叫做factorize(),它可以创建一些数字,来表示类别变量,对每一个类别映射一个ID,这种映射最后只生成一个特征,不像dummy那样生成多个特征。

Parameters:

sort : boolean, default False

Sort by values

na_sentinel: int, default -1

Value to mark “not found”

Returns:

labels : the indexer to the original array

uniques : the unique Index

labels:对应的编码array

uniques:需要编码的类型

补充:pandas.get_dummies 的使用及含义

get_dummies 是利用pandas实现one hot encode的方式

get_dummies参数如下:

pandas.get_dummies(data,prefix = None,prefix_sep ='_',dummy_na = False,columns = None,sparse = False,drop_first = False,dtype = None )

data : array-like,Series或DataFrame

prefix :string,字符串列表或字符串dict,默认为None,

用于追加DataFrame列名的字符串。在DataFrame上调用get_dummies时,传递一个长度等于列数的列表。或者,前缀 可以是将列名称映射到前缀的字典。

prefix_sep : string,默认为'_'

如果附加前缀,分隔符/分隔符要使用。或者传递与前缀一样的列表或字典。

dummy_na : bool,默认为False

如果忽略False NaN,则添加一列以指示NaN。

columns : 类似列表,默认为无

要编码的DataFrame中的列名称。如果列是None,那么所有与列 对象或类别 D型细胞将被转换。

sparse : bool,默认为False

伪编码列是否应由SparseArray(True)或常规NumPy数组(False)支持。

drop_first : bool,默认为False

是否通过删除第一级别从k分类级别获得k-1个假人。

版本0.18.0中的新功能。

dtype: D型,默认np.uint8

新列的数据类型。只允许一个dtype。

版本0.23.0中的新功能。

实例

pandas:get_dummies()与pd.factorize()的用法及区别说明

prefix自定义前缀

pandas:get_dummies()与pd.factorize()的用法及区别说明

以上为个人经验,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python实现代理服务功能实例
Nov 15 Python
解决python读取几千万行的大表内存问题
Jun 26 Python
Python基于多线程实现ping扫描功能示例
Jul 23 Python
python接口自动化测试之接口数据依赖的实现方法
Apr 26 Python
python字符串替换第一个字符串的方法
Jun 26 Python
pytorch numpy list类型之间的相互转换实例
Aug 18 Python
python3 requests库文件上传与下载实现详解
Aug 22 Python
python破解bilibili滑动验证码登录功能
Sep 11 Python
Python 过滤错误log并导出的实例
Dec 26 Python
关于Pytorch MaxUnpool2d中size操作方式
Jan 03 Python
python实现批量提取指定文件夹下同类型文件
Apr 05 Python
python3实现常见的排序算法(示例代码)
Jul 04 Python
python spilt()分隔字符串的实现示例
教你用python实现一个无界面的小型图书管理系统
一篇文章带你搞懂Python类的相关知识
Python深度学习之Pytorch初步使用
我对PyTorch dataloader里的shuffle=True的理解
Python快速优雅的批量修改Word文档样式
Django migrate报错的解决方案
You might like
PHP代码网站如何防范SQL注入漏洞攻击建议分享
2012/03/01 PHP
php通过rmdir删除目录的简单用法
2015/03/18 PHP
PHP中使用register_shutdown_function函数截获fatal error示例
2015/04/21 PHP
php显示页码分页类的封装
2017/06/08 PHP
php+redis消息队列实现抢购功能
2018/02/08 PHP
基于jquery的划词搜索实现(备忘)
2010/09/14 Javascript
JQuery live函数
2010/12/24 Javascript
五个jQuery图片画廊插件 推荐
2011/05/12 Javascript
javascript函数重载解决方案分享
2014/02/19 Javascript
javascript实现图片自动和可控的轮播切换特效
2015/04/13 Javascript
实例讲解使用原生JavaScript处理AJAX请求的方法
2016/05/10 Javascript
Three.js 再探 - 写一个微信跳一跳极简版游戏
2018/01/04 Javascript
20行JS代码实现粘贴板复制功能
2018/02/06 Javascript
Angular6 写一个简单的Select组件示例
2018/08/20 Javascript
Node.js折腾记一:读指定文件夹,输出该文件夹的文件树详解
2019/04/20 Javascript
javascript实现前端分页效果
2020/06/24 Javascript
vue项目实现设置根据路由高亮对应的菜单项操作
2020/08/06 Javascript
javascript实现图片轮换动作方法
2020/08/07 Javascript
JavaScript大数相加相乘的实现方法实例
2020/10/18 Javascript
python操作MySQL数据库具体方法
2013/10/28 Python
在Docker上部署Python的Flask框架的教程
2015/04/08 Python
Python编写生成验证码的脚本的教程
2015/05/04 Python
python bottle框架支持jquery ajax的RESTful风格的PUT和DELETE方法
2017/05/24 Python
python求质数的3种方法
2018/09/28 Python
用python wxpy管理微信公众号并利用微信获取自己的开源数据
2019/07/30 Python
Python CVXOPT模块安装及使用解析
2019/08/01 Python
HTML5新增属性data-*和js/jquery之间的交互及注意事项
2017/08/08 HTML / CSS
StubHub西班牙:购买和出售全球活动门票
2017/06/05 全球购物
函授毕业生的自我鉴定
2013/11/26 职场文书
劳动竞赛口号
2014/06/16 职场文书
幼儿园校园小喇叭广播稿
2014/10/17 职场文书
2014年项目工作总结
2014/11/24 职场文书
民间借贷被告代理词
2015/05/23 职场文书
搭讪开场白台词大全
2015/05/28 职场文书
用Python实现一个打字速度测试工具来测试你的手速
2021/05/28 Python
MySQL数据库查询之多表查询总结
2022/08/05 MySQL