深入 category 数据类型

本文介绍了Pandas中Category类型的作用和用法,包括如何创建、排序和自定义排序顺序。Category类型适用于有限且固定数量的变量,如性别。通过pd.Categorical和dtype参数可创建category数据,CategoricalDtype能定义排序顺序。此外,还可以使用.reorder_categories()临时修改排序规则。

目录

前言

1 作用

2 用法

 2.1通过 pd.Categorical 创建 category 类型数据,同时指定可选项

2.2  通过 dtype 参数创建 category 类型数据

2.3  此时对数据进行排序 

2.4  通过 CategoricalDtype 指定 category 数据的类型顺序 

 2.5  想要临时修改排序规则,可以使用categories类型的series对象.cat.reorder_categories()方法

3总结


前言

是对这篇博客的部分知识点进行拓展(这个博主的数据分析专栏贼全面,宝藏博主)

(八)Pandas数据类型https://liangshan.blog.youkuaiyun.com/article/details/110438297下面直接开始!!!!!!!

---------------------------------------------------------------------------------------------------------------------------------

1 作用

 category 类型数据是由固定的且有限数量的变量组成的,比如:性别

---------------------------------------------------------------------------------------------------------------------------------

2 用法

 2.1通过 pd.Categorical 创建 category 类型数据,同时指定可选项

s = pd.Series(
    pd.Categorical(['a','b','c','d'],
                  categories=['c','b','a'])
)
s

 

 注意:不在 category 限定范围内的数据会被置为 NaN

2.2  通过 dtype 参数创建 category 类型数据

cat_series=pd.Series(['B','D','C','A'],dtype='category')
cat_series

 

2.3  此时对数据进行排序 

cat_series.sort_values()

2.4  通过 CategoricalDtype 指定 category 数据的类型顺序 

from pandas.api.types import CategoricalDtype
cat=CategoricalDtype(categories=['B','D','A','C'],ordered=True)
print(cat_series)
print('='*20)
print(cat_series.sort_values())
print('='*20)
print(cat_series.astype(cat).sort_values())

 2.5  想要临时修改排序规则,可以使用categories类型的series对象.cat.reorder_categories()方法

print(cat_series)
cat_series.cat.reorder_categories(['D','B','C','A'],ordered=True,inplace=True)
print(cat_series)

-------------------------------------------------------------------------------------------------------------------------------- 

3总结

 category 类型,可以用来进行排序,并且可以自定义排序顺序
CategoricalDtype 可以用来定义顺序

 不要忘记点赞哦=v=!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

汲海

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值