Pandas数据分析学习打卡(三):Category分类数据

本文探讨Pandas中的Category分类数据,介绍创建方法如设定dtype、Categorical类型和cut函数,讨论类别管理如set_categories和rename_categories。分类数据分为有序和无序,可通过as_ordered和as_unordered转换。此外,文章涉及分类变量的比较操作,以及concat方法在不同情况下的结果。最后提出关于union_categoricals方法的作用、groupby和value_counts对分类变量的影响,以及Series创建分类变量时的注意事项。
摘要由CSDN通过智能技术生成

Pandas数据分析学习打卡(三):Category分类数据

主要内容:
对于分类数据,我的理解是,实际中会存在一类数据,它的类别是固定的,只有几种或者分为几个档次,然后pandas中的分类数据就是为此而存在。
它的创建有好几种方法,可以pandas对象的创建中将dtype指定为“category”,也可以利用内置Categorical类型创建,或者利用cut函数创建:

pd.Series(["a", "b", "c", "a"], dtype="category")
cat = pd.Categorical(["a", "b", "c", "a"], categories=['a','b','c'])
pd.cut(np.random.randint(0,60,5), [0,10,30,60])

在打印创建好的Category数据时,会返回一个Categories信息,显示有哪些类别,类似于unique函数返回结果吧,用set_categories可以修改这个类别,但是不改变值,导致在类别中不存在的值会直接变成NaN,用rename_categories修改的话,它会同步修改值。同时还有其它操作:
利用add_categories添加;利用remove_categories移除;remove_unused_categories删除元素值未出现的分类类型。

分类数据类型被分为有序和无序,可以利用as_ordered方法将一个序列转为有序变量,而要退化为无序变量的话就使用as_unordered,或者利用set_categories方法中的order参数,令其等于True。reorder_categories方法也可以实现有序化,但是它新设置的分类必须与原分类为同一集合。然后是排序操作,这里没有新的方法,应该就是用Python内置的值排序和索引排序。
最后是分类变量的比较操作,用==、>=、<=、<、>,返回布尔序列,可以与标量或等长序列的比较,与另一分类变量的比较。

问题与练习:
【问题一】 如何使用union_categoricals方法?它的作用是什么?
问题二】 利用concat方法将两个序列纵向拼接,它的结果一定是分类变量吗?什么情况下不是?
回答:这里把问题一 和问题二连起来回答:
首先,利用concat方法将两个序列纵向拼接,它的结果不一定是分类变量:
当类别不一样时:


                
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值