类别变量转化为数字,需要区分是否是有序类别,如 male和female,就是无序的,应该转化成(1,0)和(0,1),但衣服大小,M,L,XL,则应转化为1,2,3

若将无序属性连续化,则会不恰当的引入序关系,对后续处理如距离计算等造成误导

类别变量转化的Python实现:

1、有序的类别变量

有序的类别变量转化,一般直接采用赋值、映射的方法即可,可以采用Python带的map函数。

比如size:[X,XL,XXL],使用数值的映射{X:1,XL:2,XXL:3}。

2、无序的类别变量

无序的类别变量转化,一般对应的转码方式为 one-hot编码,采用pd.get_dummies(df) 就可以。

具体代码如下

(1)有序:import pandas as pd

df = pd.DataFrame([

['green', 'M', 10.1, 'class1'],

['red', 'L', 13.5, 'class2'],

['blue', 'XL', 15.3, 'class1']],

)

df.columns = ['color', 'size', 'prize', 'class label']

#DataFram相当于一个数据表,DataFrame(data,columns=['a','b','c'],index=['one','two','three']) ,有这些参数

#上面的代码可以写成,data = [

['green', 'M', 10.1, 'class1'],

['red', 'L', 13.5, 'class2'],

['blue', 'XL', 15.3, 'class1']]

# df = pd.DataFrame (data,columns = ['color', 'size', 'prize', 'class label'])

size_mapping = { 'XL': 3, 'L': 2,'M': 1} #建立一个字典,构建键值对,即数据映射。

df['size'] = df['size'].map(size_mapping) # map函数的使用

将 M,L,XL转化成了1,2,3

(2)无序pd.get_dummies(df)

将color和class两列,转化成了one_hot编码

python数据类型有序无序,python数据类型有序无序_python中的有序和无序类别变量...相关推荐

  1. Python基础_第3章_Python中的循环结构

    Python基础_第3章_Python中的循环结构 文章目录 Python基础_第3章_Python中的循环结构 Python中的循环结构 一.回顾分支练习题 1.判断是否为一个合法三角形 2.求世界 ...

  2. Python基础_第5章_Python中的数据序列

    Python基础_第5章_Python中的数据序列 文章目录 Python基础_第5章_Python中的数据序列 Python中的数据序列 一.字典--Python中的==查询==神器 1.为什么需要 ...

  3. python里dir是什么意思_python中dir什么作用

    python中dir的作用是:1.dir函数传入数据类型返回该数据类型的所有内置方法:2.dir函数传入模块名返回该模块的所有属性和方法. dir() 内置函数的作用 python 内置方法有很多,无 ...

  4. python空类型用什么表示_python中怎么表示空值

    首先了解python对象的概念 python中,万物皆对象,所有的操作都是针对对象的. 那什么是对象?5是一个int对象,'oblong'是一个str对象,异常也是一个对象,抽象一点是,人,猫,够也是 ...

  5. python集合和字典的区别_Python中的字典和集合

    导语:本文章记录了本人在学习Python基础之数据结构篇的重点知识及个人心得,打算入门Python的朋友们可以来一起学习并交流. 本文重点: 1.掌握常见的字典创建,查询,判别方法: 2.了解字典中的 ...

  6. python的列表就是数组吗_python中list和数组的区别是什么?

    在python中,list和数组的区别是:1.list中的元素的数据类型可以不一样,数组中的元素的数据类型必须一样:2.list不可以进行四则运算,数组可以进行四则运算. list和array的区别 ...

  7. python if name main 的作用_Python中if __name__ == '__main__':的作用和原理

    if __name__ == '__main__':的作用 一个python文件通常有两种使用方法,第一是作为脚本直接执行,第二是 import 到其他的 python 脚本中被调用(模块重用)执行. ...

  8. python浅复制与深复制_Python中的浅复制与深复制

    python浅复制与深复制 In python, the assignment operator does not copy the objects, instead, they create bin ...

  9. python中属于有序序列的有_Python中的有序序列有哪些

    Python中的有序序列有哪些 list.tuple以及str都是有序序列,和后面两者不同的是list是个可变对象,tuple和str则是不可变对象.主要讲的就是这三种的有序序列的一些方式.方法效果L ...

最新文章

  1. 深入理解Activity启动流程(三)–Activity启动的详细流程2
  2. vue源码分析:渲染篇
  3. 有关cookie实现统计pv,uv的一些用法
  4. 一个类可以实现多个接口吗_java中接口的概念
  5. 【kafka】kafka 启动 KafkaController 相关源码分析
  6. 经典回顾——2012年度最佳网页设计作品出炉【下篇】
  7. win7 梦幻桌面下载地址
  8. 【问题描述】打印2018年的日历
  9. 单层感知器的学习规则
  10. 10_clickhouse,SummingMergeTree,AggregatingMergeTree(基于表,物化视图的使用)
  11. Node.js学习笔记——模块加载机制及npm指令详解
  12. php实现批量导出pdf 压缩打包下载
  13. Html未加载完成时实现动态加载效果
  14. 女郎忙炒股 寻欢狼客无处去
  15. jdk安装jre报错
  16. Android系统启动流程4---init进程的工作流程
  17. 第七节:组合接口联调测试,代码实现V2变量传值
  18. python用glob遍历文件_尝试使用glob遍历python中文件夹中的文件
  19. windows常用操作命令
  20. 比格云:2019年云综合收入2.3亿元,用心做利润

热门文章

  1. React.SetStateAction<never[]>
  2. Linux htop命令
  3. 中科大计算机科学技术导师周,中国科技大学计算机科学与技术学院导师教师师资介绍简介-周学海...
  4. bs4爬虫:获取双色球中奖信息
  5. Data truncation: Incorrect string value
  6. BCD码的作用和实现
  7. Gridea+Coding Page个人网站搭建
  8. beyond compare java_文件内容比较工具---Text compare Beyond compare
  9. Beyond Compare 安装说明
  10. BoundsChecker简易使用教程