• 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的含义
  • 处理流程
    1. 读入数据
    2. 识别哑变量并获取,利用get_dummies进行处理
    3. 将处理后的哑变量与原数据进行拼接
    4. 删除原数据中不必要变量
  • 本文所有代码(运行在Jupyter Notebook)以及数据集可以在我的资源主页–Pandas_Dummy_Variable进行下载

Pandas 处理 dummy variable相关推荐

  1. 虚拟变量陷阱(Dummy Variable Trap)

    虚拟变量陷阱(Dummy Variable Trap):指当原特征有m个类别时,如果将其转换成m个虚拟变量,就会导致变量间出现完全共线性的情况. 假设我们有一个特征"性别",包含男 ...

  2. 虚拟变量和独热编码的区别(Difference of Dummy Variable One Hot Encoding)

    在<定量变量和定性变量的转换(Transform of Quantitative & Qualitative Variables)>一文中,我们可以看到虚拟变量(Dummy Var ...

  3. [RS] 类别数据数字化的方法 —— LabelEncoder VS OneHotEncoder (虚拟变量陷阱(Dummy Variable Trap))

    参考:虚拟变量陷阱原理及算例 - 知乎 LabelEncoder 和 OneHotEncoder  在数据处理过程中,我们有时需要对不连续的数字或者文本进行数字化处理. 在使用 Python 进行数据 ...

  4. 离散型变量的编码方式——one-hot与哑变量(dummy variable)

    我们在用模型去解决机器学习问题的时候,要提前进行"特征工程".而特征工程中很重要的就是对特征的预处理. 当你使用的是logistic回归这样的模型的时候,模型要求所有特征都应该是数 ...

  5. one-hot与哑变量(dummy variable)的区别

    在机器学习问题中,我们通过训练数据集学习得到的其实就是一组模型的参数,然后通过学习得到的参数确定模型的表示,最后用这个模型再去进行我们后续的预测分类等工作.在模型训练过程中,我们会对训练数据集进行抽象 ...

  6. 哑变量(Dummy Variable)、独热编码(one-hot Encoding)、label-encoding归纳

    1 概念 1.1 定类型变量 定类类型就是纯分类,不排序,没有逻辑关系. 当某特征具有k个属性值,那么: a 哑变量(虚拟变量)-- 具有k-1个二进制特征,基准类别将被忽略,若基准类别选择不合理,仍 ...

  7. 神经网络之预测共享单车使用情况

    神经网络之预测共享单车使用情况 该项目为优达学城Deep Learning Foundation Nanodegree Program的Neural Network阶段项目 原始数据和代码可以在 ht ...

  8. pandas内置绘图_使用Pandas内置功能探索数据集

    pandas内置绘图 Each and every data scientist is using the very famous libraries for data manipulation th ...

  9. pandas -----变形(透视表、melt、stack、unstack),哑变量与因子变化

    目录 导入数据 1. 透视表 1. 1 pivot 1.2. pivot_table 1.3 crosstab(交叉表) 2.其他变形方法 2.1. melt 2.2. 压缩与展开 3.哑变量与因子化 ...

最新文章

  1. 解决spark中遇到的数据倾斜问题
  2. Java集合HashMap
  3. JavaOne 2015:高级模块化开发
  4. 蓝桥杯第八届省赛JAVA真题----拉马车
  5. 分布式系统以及CAP原理
  6. sql语法中u‘‘ n‘‘详解
  7. C/C++调用python,opencv+python
  8. Windows解压tar.gzip文件
  9. IT服务管理流程控制主要绩效指标有哪些?
  10. 第四天 轨道交通仿真入门
  11. HTML制作虾米音乐,最新虾米音乐电台调用代码
  12. android 手机 优化,安卓手机超级优化技巧,流畅度飙升50%
  13. 系统时钟的时钟源选择
  14. c语言中双冒号意思_详解C++中的双冒号 ::
  15. SpringBoot:入门简单使用
  16. 网页制作:一个简易美观的登录界面
  17. GEE|下载研究区哨兵二号影像
  18. 爬取绝对领域jk制服区全图片 新人笔记
  19. 微型计算机 电脑爱好者,电脑爱好者1994年全.pdf
  20. 【Ubuntu 20.04 LTS】安装向日葵远程控制

热门文章

  1. 软件开发有哪些规范和标准_高品质、标准化——四维图新自动驾驶地图通过ASPICE CL2认证...
  2. jdk1.8 Windows安装全过程详尽版
  3. 在linux centos 7上安装maven
  4. linux进程作为服务,将一个监视进程做成linux系统服务
  5. mysql 查询列表是否关注_点赞功能,用mysql还是redis?
  6. 数值运算python嵩天_python语法_算数运算+赋值运算符+比较运算符+逻辑运算符
  7. spark的数三角形算法_Spark任务调度概述
  8. 在centos7上使用Docker安装oracle 11g
  9. python中返回上一步操作_通过实例解析Python文件操作实现步骤
  10. python isinstance_Python之isinstance | 学步园