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实现通过哈希算法检测图片重复的教程
Apr 02 Python
详解Python的Twisted框架中reactor事件管理器的用法
May 25 Python
Python创建二维数组实例(关于list的一个小坑)
Nov 07 Python
python+pygame简单画板实现代码实例
Dec 13 Python
Atom的python插件和常用插件说明
Jul 08 Python
python 定时器,轮询定时器的实例
Feb 20 Python
python 进程间数据共享multiProcess.Manger实现解析
Sep 23 Python
浅析使用Python搭建http服务器
Oct 27 Python
浅析python,PyCharm,Anaconda三者之间的关系
Nov 27 Python
Centos7下源码安装Python3 及shell 脚本自动安装Python3的教程
Mar 07 Python
python+adb命令实现自动刷视频脚本案例
Apr 23 Python
python 实现图片特效处理
Apr 03 Python
python spilt()分隔字符串的实现示例
教你用python实现一个无界面的小型图书管理系统
一篇文章带你搞懂Python类的相关知识
Python深度学习之Pytorch初步使用
我对PyTorch dataloader里的shuffle=True的理解
Python快速优雅的批量修改Word文档样式
Django migrate报错的解决方案
You might like
php对数组内元素进行随机调换的方法
2015/05/12 PHP
thinkphp在php7环境下提示Cannot use ‘String’ as class name as it is reserved的解决方法
2016/09/30 PHP
Docker搭建自己的PHP开发环境
2018/02/24 PHP
Thinkphp5框架实现获取数据库数据到视图的方法
2019/08/14 PHP
Yii框架日志操作图文与实例详解
2019/09/09 PHP
Javascript中的String对象详谈
2014/03/03 Javascript
js实现按Ctrl+Enter发送效果
2014/09/18 Javascript
显示今天的日期js代码(阳历和农历)
2014/09/30 Javascript
使用mouse事件实现简单的鼠标经过特效
2015/01/30 Javascript
jQuery实现拖动效果的实例代码
2017/06/25 jQuery
jQuery+Ajax请求本地数据加载商品列表页并跳转详情页的实现方法
2017/07/12 jQuery
解决vue2.0动态绑定图片src属性值初始化时报错的问题
2018/03/14 Javascript
Vue在页面右上角实现可悬浮/隐藏的系统菜单
2018/05/04 Javascript
详解如何在webpack中做预渲染降低首屏空白时间
2018/08/22 Javascript
小程序实现列表多个批量倒计时
2021/01/29 Javascript
jQuery实现高级检索功能
2019/05/28 jQuery
vue(2.x,3.0)配置跨域代理
2019/11/27 Javascript
Vue看了就会的8个小技巧
2021/01/21 Vue.js
Vue 3自定义指令开发的相关总结
2021/01/29 Vue.js
以视频爬取实例讲解Python爬虫神器Beautiful Soup用法
2016/01/20 Python
python logging 日志轮转文件不删除问题的解决方法
2016/08/02 Python
Scrapy-redis爬虫分布式爬取的分析和实现
2017/02/07 Python
详解tensorflow实现迁移学习实例
2018/02/10 Python
Python机器学习之K-Means聚类实现详解
2018/02/22 Python
TensorFlow实现iris数据集线性回归
2018/09/07 Python
PyCharm 2020.1版安装破解注册码永久激活(激活到2089年)
2020/09/24 Python
python 实现表情识别
2020/11/21 Python
美国领先的低折扣旅行网站:Hotwire
2019/01/19 全球购物
俄罗斯最大的隐形眼镜销售网站:Ochkov.Net
2021/02/07 全球购物
医学生求职自荐信
2013/10/25 职场文书
配件采购员岗位职责
2013/12/03 职场文书
丧事主持词大全
2014/04/02 职场文书
会计试用期自我评价怎么写
2014/09/18 职场文书
2015年项目工作总结
2015/04/29 职场文书
幼儿园教学反思范文
2016/03/02 职场文书
Java中try catch处理异常示例
2021/12/06 Java/Android