学习用Pandas处理分类数据!

本文介绍了如何使用Pandas处理分类数据,包括创建分类变量(如用Series、DataFrame、Categorical类型及cut函数),分类变量的结构分析(如describe方法、categories和ordered属性),类别修改(如set_categories、rename_categories、add_categories、remove_categories),排序和比较操作。同时,文章提出了几个问题和练习,涉及union_categoricals方法、concat方法在分类数据拼接中的应用,以及分类变量在groupby和value_counts方法中的统计区别。
摘要由CSDN通过智能技术生成
↑↑↑关注后"星标"Datawhale每日干货 & 每月组队学习,不错过
 Datawhale干货 
作者:耿远昊,Datawhale成员,华东师范大学

分类数据(categorical data)是按照现象的某种属性对其进行分类或分组而得到的反映事物类型的数据,又称定类数据。直白来说,就是取值为有限的,或者说是固定数量的可能值。例如:性别、血型等。

今天,我们来学习下,Pandas如何处理分类数据。主要围绕以下几个方面展开:

本文目录

    1. Category的创建及其性质

        1.1. 分类变量的创建

        1.2. 分类变量的结构

        1.3. 类别的修改

    2. 分类变量的排序

        2.1. 序的建立

        2.2. 排序

    3. 分类变量的比较操作

        3.1. 与标量或等长序列的比较

        3.2. 与另一分类变量的比较

    4. 问题及练习

        4.1. 问题

        4.2. 练习

首先,读入数据:

import pandas as pd
import numpy as np
df = pd.read_csv('data/table.csv')
df.head()

一、category的创建及其性质

1.1. 分类变量的创建

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

(b)对DataFrame指定类型创建
temp_df = pd.DataFrame({'A':pd.Series(["a", "b", "c", "a"], dtype="category"),'B':list('abcd')})
temp_df.dtypes

(c)利用内置Categorical类型创建
cat = pd.Categorical(["a", "b", "c", "a"], categories=['a','b','c'])
pd.Series(cat)

(d)利用cut函数创建,默认使用区间类型为标签
pd.cut(np.random.randint(0,60,5), [0,10,30,60])

可指定字符为标签
pd.cut(np.random.randint(0,60,5), [0,10,30,60], right=False, labels=['0-10','10-30','30-60'])

1.2. 分类变量的结构

一个分类变量包括三个部分,元素值(values)、分类类别(categories)、是否有序(order)。从上面可以看出,使用cut函数创建的分类变量默认为有序分类变量。下面介绍如何获取或修改这些属性。
(a)describe方法
该方法描述了一个分类序列的情况,包括非缺失值个数、元素值类别数(不是分类类别数)、最多次出现的元素及其频数。
s = pd.Series(pd.Categorical(["a", &
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值