pandas pd.Categorical()方法详解

2020-06-19  本文已影响0人  采星星的小太阳BavaLI

今天遇到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里面的话,这个方法的用处会更大一些,大家可以去试试!

上一篇下一篇

猜你喜欢

热点阅读