pandas pd.Categorical()方法详解【转】


今天遇到pd.Categorical()这个方法,说实话以前自己没遇到过!现在把自己的理解清晰的给正在疑惑的小伙伴说明一下!

直接上代码

1.定义一个列表,注意里面有重复元素!

#定义一个列表,注意里面有重复元素!
str = ['a','a','b','c','c','e','h','g'] str 
 
image.png

2.导如pandas包,并调用Categorical方法

# 导如pandas包,并调用Categorical方法 import pandas as pd ss = pd.Categorical(str) 
 
image.png

打印ss之后我们发现 Categories (6, object): [a, b, c, e, g, h]把我们的重复值去掉了,原来有8个现在才有六个,那么其余的是不是不在了呢?答案是:其余还在,只不过使用了另外一个表示方式!

ss.dtype

查看一下它到底谁是什么类型

 
image.png

调用ss的两个重要属性!

 
image.png

通过对比,细心的你,应该发现,原来的字母现在已经被数字所代替,而且用的是从0开始的索引,所以a对应0遇到重复的a同样用0表示,这样就可以把非数值的转换成数值的,方便计算!我觉得这就是这个方法的最大好处!

至于categories属性,可以看到原来的字母的去重后的情况!用处不大,主要还是codes比较实用!

这里只是为了说明,举了一个简单的列表说明,在pandas里面的话,这个方法的用处会更大一些,大家可以去试试!

 
 
 
 



作者:采星星的小太阳BavaLI
链接:https://www.jianshu.com/p/e276848b9115
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM