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使用MONGODB入门实例
May 11 Python
python opencv检测目标颜色的实例讲解
Apr 02 Python
Python实现的KMeans聚类算法实例分析
Dec 29 Python
pybind11和numpy进行交互的方法
Jul 04 Python
Python循环实现n的全排列功能
Sep 16 Python
Python 异常处理Ⅳ过程图解
Oct 18 Python
python3中sorted函数里cmp参数改变详解
Mar 12 Python
简单了解pytest测试框架setup和tearDown
Apr 14 Python
500行python代码实现飞机大战
Apr 24 Python
Python基于numpy模块实现回归预测
May 14 Python
Python实现验证码识别
Jun 15 Python
python周期任务调度工具Schedule使用详解
Nov 23 Python
python spilt()分隔字符串的实现示例
教你用python实现一个无界面的小型图书管理系统
一篇文章带你搞懂Python类的相关知识
Python深度学习之Pytorch初步使用
我对PyTorch dataloader里的shuffle=True的理解
Python快速优雅的批量修改Word文档样式
Django migrate报错的解决方案
You might like
PHP 类商品秒杀计时实现代码
2010/05/05 PHP
php函数的常用方法及注意之处小结
2011/07/10 PHP
php的array数组和使用实例简明教程(容易理解)
2014/03/20 PHP
一个简单安全的PHP验证码类 附调用方法
2016/06/24 PHP
PHP CURL与java http使用方法详解
2018/01/26 PHP
一个收集图片的bookmarlet(js 刷新页面中的图片)
2010/05/27 Javascript
打造基于jQuery的高性能TreeView(asp.net)
2011/02/23 Javascript
公共js在页面底部加载的注意事项介绍
2013/07/18 Javascript
js中widow.open()方法使用详解
2013/07/30 Javascript
js控制不同的时间段显示不同的css样式的实例代码
2013/11/04 Javascript
javascript实现图片循环渐显播放的方法
2015/02/24 Javascript
轻松搞定jQuery.noConflict()
2016/02/15 Javascript
Bootstrap3 Grid system原理及应用详解
2016/09/30 Javascript
JavaScript字符串对象
2017/01/14 Javascript
微信小程序开发的四十个技术窍门总结(推荐)
2017/01/23 Javascript
基于JavaScript实现复选框的全选和取消全选
2017/02/09 Javascript
JS匿名函数内部this指向问题详析
2019/05/10 Javascript
深入理解JavaScript 箭头函数
2019/05/30 Javascript
vue-cli脚手架的.babelrc文件用法说明
2020/09/11 Javascript
[08:38]DOTA2-DPC中国联赛 正赛 VG vs Elephant 选手采访
2021/03/11 DOTA
Python查看多台服务器进程的脚本分享
2014/06/11 Python
Python读取图片EXIF信息类库介绍和使用实例
2014/07/10 Python
python3使用smtplib实现发送邮件功能
2018/05/22 Python
Python之用户输入的实例
2018/06/22 Python
python代码打印100-999之间的回文数示例
2019/11/24 Python
Python PyQt5运行程序把输出信息展示到GUI图形界面上
2020/04/27 Python
Python数据可视化实现多种图例代码详解
2020/07/14 Python
python实现MySQL指定表增量同步数据到clickhouse的脚本
2021/02/26 Python
使用CSS变量实现炫酷惊人的悬浮效果
2019/04/26 HTML / CSS
浅谈html5 video 移动端填坑记
2018/01/15 HTML / CSS
The Athlete’s Foot新西兰:新西兰最大的运动鞋零售商
2019/12/23 全球购物
医院护士党的群众路线教育实践活动对照检查材料思想汇报
2014/10/04 职场文书
债务授权委托书范本
2014/10/17 职场文书
员工离职通知函
2015/04/25 职场文书
如何更改Win11声音输出设备?Win11声音输出设备四种更改方法
2022/04/08 数码科技
源码安装apache脚本部署过程详解
2022/09/23 Servers