实战,让学习更简单     全国咨询热线:400-009-1906

北京 切换校区

全国24小时免费热线

400-009-1906

Python数据分析中如何将字符型离散值转化为数值型

时间:2018-11-30   来源:尚学堂   阅读:83
首页> Python数据分析中如何将字符型离散值转化为数值型

       很多时候,数据的清洗、整理,是为了进一步对数据的挖掘或者数学建模。而通常涉及数据挖掘和建模的时候,我们会需要纯数值型的数据。然而原始数据里的数据类型是五花八门的,比如身高、体重可能会是浮点型,年龄会是整型,姓名和性别则是字符型等。那么,有没有什么比较方便的办法,能将字符型的离散值转为数值型的离散值呢?

       还好在pandas里面,这件事并不难,我们通过一个案例来实现一遍。先虚构一个DataFrame如下:

       接下来我们尝试把Hobby列里的字符型离散值转换为一一对应的数值型。那么我们先要做的肯定是了解该列的非重复值一共有哪些:

       不难看出,该列一共有三个非重复值,分别如上。我们接下来的想法就是,可以将所有的Reading转为1,Music转为2,Football转为3。我们先来看看数据类型,这样后期可以有个对比:

       没有错,Hobby列是object类型,也就是pandas版的字符型。

       既然是一些离散化的字符,我们就可以把这些数据当做是一些不同的分类,而想到分类,自然而然就想到pandas里的Categorical。那我们就先把这些字符型数据转化为Categorical类型:

       在这里,我们指定需要转化的列为Hobby列,转化之后的数据值还是那么些非重复的唯一值。也就是说,这一步,数据值并没有发生变化,而是将Hobby列的数据类型由object转为了category类型。我们只需再来一步,就可以达到我们最终的要求:

       这一步里面,我们只需要把最终想要的数值型分类以类似列表的形式传递到参数里面即可。这样,最终的转换就完成了。

       同样的,如果想将数值型的离散值转化为字符型的,则进行反向操作即可。

       当然,除了这个方法外,还可以有其他的方法,比如说字典映射等。

相关资讯

  • 北京校区
  • 山西校区
  • 郑州校区
  • 武汉校区
  • 四川校区
  • 长沙校区
  • 深圳校区
  • 上海校区
  • 广州校区
  • 保定招生办

北京海淀区校区(总部):北京市海淀区西三旗街道建材城西路中腾建华商务大厦东侧二层尚学堂
北京京南校区:北京亦庄经济开发区科创十四街6号院1号楼 赛蒂国际工业园
咨询电话:400-009-1906 / 010-56233821
面授课程: JavaEE培训大数据就业班培训大数据云计算周末班培训零基础大数据连读班培训大数据云计算高手班培训人工智能周末班培训人工智能+Python全栈培训H5+PHP全栈工程师培训

山西学区地址:山西省晋中市榆次区大学城大学生活广场万科商业A1座702
咨询电话:0354-3052381 / 18903441162

郑州学区地址:金水区东风路经三路北100米注协大厦10楼
咨询电话:0371-55177956 

武汉学区地址:湖北省武汉市江夏区江夏大道26号 宏信悦谷创业园4楼
咨询电话:027-87989193

四川学区地址:成都市高新区锦晖西一街99号布鲁明顿大厦2栋1003室
咨询电话:028-65176856 / 13880900114

长沙学区地址:长沙市岳麓区麓源路湖南电子商务基地5楼(公交车站:六沟垅)
咨询电话:0731-83072091

深圳校区地址:深圳市宝安区航城街道航城大道航城创新创业园A4栋210(固戍地铁站C出口)
咨询电话:0755-23061965 / 18898413781

上海尚学堂松江校区地址:上海市松江区荣乐东路2369弄45号绿地伯顿大厦2层
咨询电话:021-67690939

广州校区地址:广州市天河区元岗横路31号慧通产业广场B区B1栋6楼尚学堂(地铁3号线或6号线到“天河客运站”D出口,右拐直走约800米)
咨询电话:020-2989 6995

保定招生办公室

地址:河北省保定市竞秀区朝阳南大街777号鸿悦国际1101室

电话:15132423123

Copyright 2006-2018 北京尚学堂科技有限公司  京ICP备13018289号-19  京公网安备11010802015183  
媒体联系:18610174079 闫老师  

有位老师想和您聊一聊