Pandas-分类数据

category的创建及其性质

分类变量的创建

用Series创建

pd.Series(["a", "b", "c", "a"], dtype="category")

对DateFrame指定类型创建

temp_df = pd.DataFrame({'A':pd.Series(["a", "b", "c", "a"],dtype="category"),'B':list('abcd')})

利用内置Categorical类型创建

cat = pd.Categorical(["a", "b", "c", "a"], categories=['a','b','c'])

利用cut函数创建

利用cut函数创建分类变量时默认使用区间类型为标签。当然也可指定字符为标签。

分类变量的结构

一个分类变量包括三个部分,元素值(values)、分类类别(categories)、是否有序(order)

descibe方法

该方法描述了一个分类序列的情况,包括非缺失值个数、元素值类别数(不是分类类别数)、最多次出现的元素及其频数。

categories和ordered属性

两个属性分别用来查看分类类别和是否排序

s.cat.categories
s.cat.ordered

类别的修改

利用set_categories修改

只会修改分类但本身值不会变化

利用rename_categories修改

该方法会把值和分类同时修改

利用add_categories添加

利用remove_categories移除

分类变量的排序

序的建立

1、将一个序列转为有序变量,可以利用as_ordered方法,将有序变量退化为无序变量,只需要使用as_unordered。
2、利用set_categories方法中的order参数
3、利用reorder_categories方法(这个方法的特点在于,新设置的分类必须与原分类为同一集合)

排序

分类变量的比较操作

与标量或等长序列的比较

s = pd.Series(["a", "d", "c", "a"]).astype('category')
s == 'a'
s == list('abcd')

与另一分类变量的比较

1、等式判别:两个分类变量的等式判别需要满足分类完全相同(包含等号和不等号)
2、不等式判别(>=,<=,<,>)
两个发呢类变量的不等式判别需要满足两个条件:分类完全相同并且排序完全相同。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值