pandas的Categorical方法

  对于数据样本的标签,如果我们事先不知道这个样本有多少类别,那么可以对数据集的类别列进行统计,这时我们用pandas的Categorical方法就非常快的实现。

1.说明: 

  你的数据最好是一个series,之后,pd.Categorical(series),得到分类的对象,使用categories或者codes进行查看

2.操作:

pd.Categorical( list ).codes 这样就可以直接得到原始数据的对应的序号列表,通过这样的处理可以将类别信息转化成数值信息 ,这样就可以应用到模型中去了 

代码:

  

 1 import tensorflow
 2 import lightgbm as lgb
 3 import pandas as pd
 4 
 5 
 6 class Deng(object):
 7     def __init__(self):
 8         pass
 9 
10     def main(self):
11         temp = ['a', 'a', 'b', 'c', 'c']
12         st = pd.Categorical(temp)
13         print(st)
14         # [a, a, b, c, c]
15         # Categories(3, object): [a, b, c]
16 
17         # 遍历temp指出temp中每个字符所属类别的位置索引
18         st2 = st.codes
19         print(st2)
20         # [0 0 1 2 2]
21 
22 
23 if __name__ == '__main__':
24     obj = Deng()
25     obj.main()

 

  

转载于:https://www.cnblogs.com/demo-deng/p/9614377.html

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
PandasCategorical函数是用来将数据转换为分类类型的函数。分类类型是指具有有限个可能取值的离散型数据,例如性别、血型等。将数据转换为分类类型可以减少数据的存储空间、提高计算速度,并且方便进行分类汇总和分组分析等操作。 Categorical函数的基本语法如下: ```python pd.Categorical(values, categories=None, ordered=None, dtype=None) ``` 其中,values参数表示要转换为分类类型的数据,可以是列表、数组、Series或DataFrame中的一列数据;categories参数表示数据的分类取值范围,如果不指定则根据数据中的实际取值自动推断;ordered参数表示分类是否有序,如果为True则表示分类之间有大小关系,例如星级评定、成绩等;dtype参数表示分类的数据类型,如果不指定则自动推断。 Categorical函数返回一个Categorical对象,可以使用其许多方法进行分类数据的操作,例如获取分类取值、计算频数、排序等。例如: ```python import pandas as pd s = pd.Series(['A', 'B', 'C', 'A', 'B', 'C']) cat = pd.Categorical(s, categories=['A', 'B', 'C'], ordered=True) print(cat) print(cat.categories) print(cat.codes) print(cat.value_counts()) ``` 输出结果为: ``` [A, B, C, A, B, C] Categories (3, object): [A < B < C] [0 1 2 0 1 2] C 2 B 2 A 2 dtype: int64 ``` 这段代码将Series对象s转换为分类类型,分类取值为['A', 'B', 'C'],并指定分类为有序。然后打印Categorical对象的属性和方法,可以看到分类取值、分类编码、频数等信息。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值