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 初始化多维数组代码
Sep 06 Python
Python学习笔记(一)(基础入门之环境搭建)
Jun 05 Python
Python中使用MELIAE分析程序内存占用实例
Feb 18 Python
Python简单调用MySQL存储过程并获得返回值的方法
Jul 20 Python
PYTHON 中使用 GLOBAL引发的一系列问题
Oct 12 Python
python实现字典(dict)和字符串(string)的相互转换方法
Mar 01 Python
Python进阶之递归函数的用法及其示例
Jan 31 Python
python3解析库BeautifulSoup4的安装配置与基本用法
Jun 26 Python
python腾讯语音合成实现过程解析
Aug 01 Python
解决Pytorch训练过程中loss不下降的问题
Jan 02 Python
Python selenium页面加载慢超时的解决方案
Mar 18 Python
如何用Django处理gzip数据流
Jan 29 Python
python spilt()分隔字符串的实现示例
教你用python实现一个无界面的小型图书管理系统
一篇文章带你搞懂Python类的相关知识
Python深度学习之Pytorch初步使用
我对PyTorch dataloader里的shuffle=True的理解
Python快速优雅的批量修改Word文档样式
Django migrate报错的解决方案
You might like
PHP简单系统数据添加以及数据删除模块源文件下载
2008/06/07 PHP
通达OA公共代码 php常用检测函数
2011/12/14 PHP
php查询ip所在地的方法
2014/12/05 PHP
微信第三方登录(原生)demo【必看篇】
2017/05/26 PHP
详解php中curl返回false的解决办法
2019/03/18 PHP
PHP中散列密码的安全性分析
2019/07/26 PHP
Javascript操纵Cookie实现购物车程序
2007/02/15 Javascript
Extjs学习笔记之二 初识Extjs之Form
2010/01/07 Javascript
各浏览器对link标签onload/onreadystatechange事件支持的差异分析
2011/04/27 Javascript
IE 当eval遇上function的处理
2011/08/09 Javascript
javascript中字符串拼接详解
2014/09/26 Javascript
javascript模拟评分控件实现方法
2015/05/13 Javascript
jQuery实现指定区域外单击关闭指定层的方法【经典】
2016/06/22 Javascript
JQuery Ajax WebService传递参数的简单实例
2016/11/02 Javascript
在原生不支持的旧环境中添加兼容的Object.keys实现方法
2017/09/11 Javascript
Vue搭建后台系统需要注意的问题
2019/11/08 Javascript
python使用paramiko实现远程拷贝文件的方法
2016/04/18 Python
详解Python操作RabbitMQ服务器消息队列的远程结果返回
2016/06/30 Python
Django csrf 验证问题的实现
2018/10/09 Python
python读取各种文件数据方法解析
2018/12/29 Python
Python datetime和unix时间戳之间相互转换的讲解
2019/04/01 Python
python多任务之协程的使用详解
2019/08/26 Python
GDAL 矢量属性数据修改方式(python)
2020/03/10 Python
使用npy转image图像并保存的实例
2020/07/01 Python
解决margin 外边距合并问题
2019/07/03 HTML / CSS
La Senza官网:北美顶尖性感内衣品牌
2018/08/03 全球购物
英国网上超市:Ocado
2020/03/05 全球购物
法国在线药房:1001Pharmacies
2021/03/07 全球购物
意大利辅助药品、药物和补品在线销售:FarmaEurope
2020/04/29 全球购物
质量主管工作职责
2014/09/26 职场文书
基层党员学习党的群众路线教育实践活动心得体会
2014/11/04 职场文书
2015初中政治教学工作总结
2015/07/21 职场文书
如何写好竞聘报告
2019/04/03 职场文书
导游词之五台山
2019/10/11 职场文书
JS封装cavans多种滤镜组件
2022/02/15 Javascript
CSS元素定位之通过元素的标签或者元素的id、class属性定位详解
2022/09/23 HTML / CSS