类别变量转化为数字,需要区分是否是有序类别,如 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. scala中Stream理解
  2. Eclipse_Eclipse下配置Maven
  3. java.net.inetaddress_java.net.InetAddress类的应用
  4. Leetcode 190. 颠倒二进制位 解题思路及C++实现
  5. WPF---数据绑定之ValidationRule数据校验综合Demo(七)
  6. uni-app-微信小程序实现输入卡号 每四个为一组中间为空格(也可以取消空格)
  7. 2020-11-09
  8. 查看Linux服务器运行级别命令,linux命令1、如何查看当前的Linux服务器的运行级别?...
  9. 小红书CTO山丘:用户隐私保护是数据应用的第一前提
  10. 3.1 神经网络概览
  11. 邢台农业计算机学校,邢台农业学校
  12. iconfont 无法导入 svg_Figma绘制图标上传至iconfont的正确姿势
  13. 阿里P8架构师分享:如何从0到1设计一个类Dubbo的RPC框架
  14. intellij怎么找实现_学习播音主持配音之后,自己该怎么利用自己所学实现变现呢?...
  15. dump文件 linux,Linux下快速分析DUMP文件
  16. ubuntu14.04下安装tun/tap
  17. matlab信道编码程序,信道编码作业matlab.doc
  18. eterm单人订座流程
  19. Quartus prime工程中各种文件的后缀及意义
  20. 想找个娇小可爱的女孩

热门文章

  1. 人体姿态识别-pose estimation
  2. cadence基本操作
  3. 登录注册页面,JS判断用户手机号码是否已经存在,或者格式不正确
  4. “易语言.飞扬”(EF)集成开发环境 EFIDE 0.2.2 下载地址
  5. 十条设计原则教你学会如何设计网页布局
  6. vtkOBBTree——包围盒
  7. 人工智能-计算机视觉-图像处理-模式识别的关系
  8. 2022年度项目管理软件排名揭晓:哪些软件在市场中脱颖而出?
  9. python 二维列表获取其中元素_Python中二维列表如何获取子区域元素的组成
  10. opencv python考勤_GitHub - liqq1228/python-opencv: 基于python opencv人脸识别的员工考勤系统...