pandas.Categorical()函数

文章介绍了Pandas库中的Categorical函数,如何对数据进行分类,设置类别顺序,以及如何使用codes属性进行编码。通过示例展示了如何根据给定的categories和ordered参数调整Categorical对象的行为。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

categorical

pandas.Categorical(values,categories = None,ordered = None,dtype = None

values:需要分类的值,如果给出了categories,则会将不在categories的值替换为NaN
categories:根据categories进行分类,如果没有给出,则将values中每一个不同的值确定为一个类别。
ordered:默认为False,如果为True,则启用排序。
dtype:若使用此函数生成一个实例,返回一个CategoricalDtype类型

import pandas as pd  
s1=['a','a','b','d','c']  
s2 = [1,4,4,3,7]  
ss0=pd.Categorical(s1,categories=['d','b','c'])  
ss1 = pd.Categorical(s1)  
ss2 =pd.Categorical(s2)  
print(ss0)  
print(ss1)  
print(ss2)  
print('-------------------')  
# 可以使用code,将分出的类别打印出来,并使用数字编码
print(ss0.codes)  
print(ss1.codes)  
print(ss2.codes)
[NaN, NaN, 'b', 'd', 'c']
Categories (3, object): ['d', 'b', 'c']
['a', 'a', 'b', 'd', 'c']
Categories (4, object): ['a', 'b', 'c', 'd']
[1, 4, 4, 3, 7]
Categories (4, int64): [1, 3, 4, 7]
-------------------
[-1 -1  1  0  2]
[0 0 1 3 2]
[0 2 2 1 3]
import pandas as pd
s1=['a','a','b','d','c']
s2 = [1,4,4,3,7]
ss0=pd.Categorical(s1,categories=['d','b','c'])
ss1 = pd.Categorical(s1)
ss2 =pd.Categorical(s2)
print(ss2)
print(ss2.codes)
print('-------------------')
ss2 =pd.Categorical(s2,ordered=True,categories=[4,3,7,1])
print(ss2)
print(ss2.min())
print(ss2.codes)
ss2.categories
[1, 4, 4, 3, 7]
Categories (4, int64): [4, 3, 7, 1]
[3 0 0 1 2]
-------------------
[1, 4, 4, 3, 7]
Categories (4, int64): [4 < 3 < 7 < 1]
4
[3 0 0 1 2]

通过启用排序,则可以使用min来获取最小索引的数据。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值