Pandas 处理 dummy variable
- Pandas 处理 dummy variable
- Dummy Variable
- Dummy Variable处理步骤
- Step 1 读入数据
- Step 2 处理数据
- Step 3 与原数据进行拼接
- Step 4 删除原数据中哑变量
- 总结
Pandas 处理 dummy variable
本文我们将简单介绍一下内容
- Dummy Variable的含义
- Pandas 处理实例
本文所有代码(运行在Jupyter Notebook)以及数据集可以在我的资源主页–Pandas_Dummy_Variable进行下载
Dummy Variable
- Dummy Variable 中文称哑变量,或者称虚拟变量(这个名字总觉得怪怪的),指的是反映属性的一种变量。
- 哑变量的值通常取0或者1, 比如 0表示非本科学位, 1表示本科学位。
- 在很多数据处理中,我们都需要对数据进行哑变量处理。例如,某个数据中的月份用1-12进行表示,但是月份的值本身并没有数值上的意义,比方说2月份比1月份多,这显然是不合理的。
Dummy Variable处理步骤
我们将通过一个具体的例子来说明处理哑变量的基本处理步骤
- 例子中所使用到的数据集可以在 UCI Machine Learning Database进行下载,并且该网站对数据的属性进行了解释
- 当然,你也可以在我的资源主页–Pandas_Dummy_Variable进行下载
Step 1 读入数据
import pandas as pddata_path = 'Bike-Sharing-Dataset/hour.csv'riders = pd.read_csv(data_path)
riders.head()
Step 2 处理数据
- 从数据集属性的解释中,我们可以知道 season,mnth,weekday,hr,weathersit,yr,holiday 都是哑变量
- 其中yr, holiday只有两个值,用0或者1表示即可
- season,mnth,weekday,hr,weathersit 为待处理数据
- 使用get_dummies处理数据
Step 3 与原数据进行拼接
- 使用concat进行拼接
dummy_fields = ['season', 'mnth', 'weekday', 'weathersit', 'hr']for each in dummy_fields:# get_dummies处理数据,参数prefix是指处理之后数据的前缀# 例如mnth共有12个值,处理之后属性mnth将会被分解成12个属性,每个属性用0或者1表示# mnth将被分解为mnth_1, mnth_2, ..., mnth_12# 原本mnth=1的情况将变成 mnth_1 = 1,其余mnth_2,...,mnth_12都是0dummies = pd.get_dummies( rider.loc[:, each], prefix=each ) riders = pd.concat( [riders, dummies], axis = 1 )
Step 4 删除原数据中哑变量
- 数据中的哑变量已经处理完毕,那么原来数据的这些哑变量应该被删除
- 使用drop进行删除
# 除了哑变量之外,还有其他的变量对于训练没有任何作用,也应该被删除
fields_to_drop = ['instant', 'dteday', 'season', 'weathersit', 'weekday', 'atemp', 'mnth', 'workingday', 'hr']data = riders.drop( fields_to_drop, axis = 1 )
data.head()
总结
- 介绍了Dummy Variable的含义
- 处理流程
- 读入数据
- 识别哑变量并获取,利用get_dummies进行处理
- 将处理后的哑变量与原数据进行拼接
- 删除原数据中不必要变量
- 本文所有代码(运行在Jupyter Notebook)以及数据集可以在我的资源主页–Pandas_Dummy_Variable进行下载
Pandas 处理 dummy variable相关推荐
- 虚拟变量陷阱(Dummy Variable Trap)
虚拟变量陷阱(Dummy Variable Trap):指当原特征有m个类别时,如果将其转换成m个虚拟变量,就会导致变量间出现完全共线性的情况. 假设我们有一个特征"性别",包含男 ...
- 虚拟变量和独热编码的区别(Difference of Dummy Variable One Hot Encoding)
在<定量变量和定性变量的转换(Transform of Quantitative & Qualitative Variables)>一文中,我们可以看到虚拟变量(Dummy Var ...
- [RS] 类别数据数字化的方法 —— LabelEncoder VS OneHotEncoder (虚拟变量陷阱(Dummy Variable Trap))
参考:虚拟变量陷阱原理及算例 - 知乎 LabelEncoder 和 OneHotEncoder 在数据处理过程中,我们有时需要对不连续的数字或者文本进行数字化处理. 在使用 Python 进行数据 ...
- 离散型变量的编码方式——one-hot与哑变量(dummy variable)
我们在用模型去解决机器学习问题的时候,要提前进行"特征工程".而特征工程中很重要的就是对特征的预处理. 当你使用的是logistic回归这样的模型的时候,模型要求所有特征都应该是数 ...
- one-hot与哑变量(dummy variable)的区别
在机器学习问题中,我们通过训练数据集学习得到的其实就是一组模型的参数,然后通过学习得到的参数确定模型的表示,最后用这个模型再去进行我们后续的预测分类等工作.在模型训练过程中,我们会对训练数据集进行抽象 ...
- 哑变量(Dummy Variable)、独热编码(one-hot Encoding)、label-encoding归纳
1 概念 1.1 定类型变量 定类类型就是纯分类,不排序,没有逻辑关系. 当某特征具有k个属性值,那么: a 哑变量(虚拟变量)-- 具有k-1个二进制特征,基准类别将被忽略,若基准类别选择不合理,仍 ...
- 神经网络之预测共享单车使用情况
神经网络之预测共享单车使用情况 该项目为优达学城Deep Learning Foundation Nanodegree Program的Neural Network阶段项目 原始数据和代码可以在 ht ...
- pandas内置绘图_使用Pandas内置功能探索数据集
pandas内置绘图 Each and every data scientist is using the very famous libraries for data manipulation th ...
- pandas -----变形(透视表、melt、stack、unstack),哑变量与因子变化
目录 导入数据 1. 透视表 1. 1 pivot 1.2. pivot_table 1.3 crosstab(交叉表) 2.其他变形方法 2.1. melt 2.2. 压缩与展开 3.哑变量与因子化 ...
最新文章
- 解决spark中遇到的数据倾斜问题
- Java集合HashMap
- JavaOne 2015:高级模块化开发
- 蓝桥杯第八届省赛JAVA真题----拉马车
- 分布式系统以及CAP原理
- sql语法中u‘‘ n‘‘详解
- C/C++调用python,opencv+python
- Windows解压tar.gzip文件
- IT服务管理流程控制主要绩效指标有哪些?
- 第四天 轨道交通仿真入门
- HTML制作虾米音乐,最新虾米音乐电台调用代码
- android 手机 优化,安卓手机超级优化技巧,流畅度飙升50%
- 系统时钟的时钟源选择
- c语言中双冒号意思_详解C++中的双冒号 ::
- SpringBoot:入门简单使用
- 网页制作:一个简易美观的登录界面
- GEE|下载研究区哨兵二号影像
- 爬取绝对领域jk制服区全图片 新人笔记
- 微型计算机 电脑爱好者,电脑爱好者1994年全.pdf
- 【Ubuntu 20.04 LTS】安装向日葵远程控制
热门文章
- 软件开发有哪些规范和标准_高品质、标准化——四维图新自动驾驶地图通过ASPICE CL2认证...
- jdk1.8 Windows安装全过程详尽版
- 在linux centos 7上安装maven
- linux进程作为服务,将一个监视进程做成linux系统服务
- mysql 查询列表是否关注_点赞功能,用mysql还是redis?
- 数值运算python嵩天_python语法_算数运算+赋值运算符+比较运算符+逻辑运算符
- spark的数三角形算法_Spark任务调度概述
- 在centos7上使用Docker安装oracle 11g
- python中返回上一步操作_通过实例解析Python文件操作实现步骤
- python isinstance_Python之isinstance | 学步园