pandas 中对特征进行硬编码和onehot编码的实现


Posted in Python onDecember 20, 2019

首先介绍两种编码方式硬编码和onehot编码,在模型训练所需要数据中,特征要么为连续,要么为离散特征,对于那些值为非数字的离散特征,我们要么对他们进行硬编码,要么进行onehot编码,转化为模型可以用于训练的特征

初始化一个DataFrame

import pandas as pd
df = pd.DataFrame([
 ['green', 'M', 20, 'class1'],
 ['red', 'L', 21, 'class2'],
 ['blue', 'XL',30, 'class3']])
df.columns = ['color', 'size', 'weight', 'class label']

pandas 中对特征进行硬编码和onehot编码的实现

硬编码:

将feature的值从0(或者1)开始进行连续编码,比如color进行硬编码,color的值有三个,分别为编码为1,2,3

可以用如下操作,对color字段下的值进行硬编码

colorMap = {elem:index+1 for index,elem in enumerate(set(df["color"]))}
df['color'] = df['color'].map(colorMap)

这样可以进行硬编码了,之前我的写法是,先生成map,然后对每一行进行apply,显然没有上述代码简便

onehot编码:

将某个字段下所有值横向展开,对于每条数据,其在对应展开的值上的值就是1,听起来比较绕口,看下面的例子就知道了,python中,pandas 用get_dummies()方法即可

data1 = pd.get_dummies(df[["color"]])

pandas 中对特征进行硬编码和onehot编码的实现

如果要对多个feature 进行onehot,这样即可df[[fea1,fea2..]]

对于onehot以后的数据,如果需要原有的数据合并,直接拿原来的join onehot的数据即可

res = df.join(data1)

pandas 中对特征进行硬编码和onehot编码的实现

join操作默认是根据index来进行join的,而get_dummies()不会改变index

以上这篇pandas 中对特征进行硬编码和onehot编码的实现就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
使用优化器来提升Python程序的执行效率的教程
Apr 02 Python
Python使用回溯法子集树模板解决爬楼梯问题示例
Sep 08 Python
Python数据结构之单链表详解
Sep 12 Python
tensorflow识别自己手写数字
Mar 14 Python
python3调用百度翻译API实现实时翻译
Aug 16 Python
python 3.6.4 安装配置方法图文教程
Sep 18 Python
详解爬虫被封的问题
Apr 23 Python
详解Python中的format格式化函数的使用方法
Nov 20 Python
Python小程序之在图片上加入数字的代码
Nov 26 Python
解决jupyter notebook打不开无反应 浏览器未启动的问题
Apr 10 Python
Python非单向递归函数如何返回全部结果
Dec 18 Python
jupyter 添加不同内核的操作
Feb 06 Python
使用python3批量下载rbsp数据的示例代码
Dec 20 #Python
Python使用QQ邮箱发送邮件报错smtplib.SMTPAuthenticationError
Dec 20 #Python
Python字符串、列表、元组、字典、集合的补充实例详解
Dec 20 #Python
python获取网络图片方法及整理过程详解
Dec 20 #Python
python序列化与数据持久化实例详解
Dec 20 #Python
爬虫代理池Python3WebSpider源代码测试过程解析
Dec 20 #Python
python3的UnicodeDecodeError解决方法
Dec 20 #Python
You might like
Body是什么,该怎么喝出咖啡里的口感
2021/03/03 咖啡文化
php使用反射插入对象示例分享
2014/03/11 PHP
php中字符集转换iconv函数使用总结
2014/10/11 PHP
PHP+MySql+jQuery实现的"顶"和"踩"投票功能
2016/05/21 PHP
鼠标移动到一张图片时变为另一张图片
2006/12/05 Javascript
JSON 教程 json入门学习笔记
2020/09/22 Javascript
加载jQuery后$冲突的解决办法
2010/07/09 Javascript
JS异常处理的一个想法(sofish)
2013/03/14 Javascript
中文字符串截取的js函数代码
2013/04/17 Javascript
js中this的用法实例分析
2015/01/10 Javascript
js中window.open的参数及注意注意事项
2016/07/06 Javascript
Javascript实现倒计时(防页面刷新)实例
2016/12/13 Javascript
对类Vue的MVVM前端库的实现代码
2018/09/07 Javascript
微信小程序iBeacon测距及稳定程序的实现解析
2019/07/31 Javascript
react quill中图片上传由默认转成base64改成上传到服务器的方法
2019/10/30 Javascript
JavaScript 变量,数据类型基础实例详解【变量、字符串、数组、对象等】
2020/01/04 Javascript
Vue 实现拨打电话操作
2020/11/16 Javascript
深入解析Python编程中super关键字的用法
2016/06/24 Python
Pyqt清空某一个QTreeewidgetItem下的所有分支方法
2019/06/17 Python
Python中模块(Module)和包(Package)的区别详解
2019/08/07 Python
关于Python 中的时间处理包datetime和arrow的方法详解
2020/03/19 Python
Python就将所有的英文单词首字母变成大写
2021/02/12 Python
五款漂亮的纯CSS3动画按钮的实例教程
2014/11/21 HTML / CSS
详解如何获取localStorage最大存储大小的方法
2020/05/21 HTML / CSS
日本土著品牌,综合型购物网站:Cecile
2016/08/23 全球购物
Timberland德国官网:靴子、鞋子、衣服、夹克及配件
2019/12/10 全球购物
计算s=f(f(-1.4))的值
2014/05/06 面试题
2013年员工自我评价范文
2013/12/27 职场文书
竞争性谈判邀请书
2014/02/06 职场文书
销售总经理岗位职责
2014/03/15 职场文书
聘任书的写作格式及范文
2014/03/29 职场文书
《真想变成大大的荷叶》教学反思
2014/04/14 职场文书
国家税务局干部作风整顿整改措施
2014/09/18 职场文书
小学语文教师研修日志
2015/11/13 职场文书
《鲁滨逊漂流记》之六读后感(4篇)
2019/09/29 职场文书
MySQL优化常用的19种有效方法(推荐!)
2022/03/17 MySQL