在处理低基数分类特征时使用类别数据类型
![用Python Pandas掌握分类数据操作的7个示例 四海 第1张-四海吧 (由作者创建的图片)](https://ai.miximages.com/miro.medium.com/v2/resize:fit:640/format:webp/1*Xq-IVkKl9mB3-wcXjr7kjQ.png)
分类变量可以取有限数量的值,通常是固定的。以下是一些分类变量的示例:
- 英语水平指标(A1、A2、B1、B2、C1、C2)
- 个人血型(A、B、AB、O)
- 民族和性别等人口统计信息
- 教育水平
Pandas提供了专用的分类变量数据类型(category
或CategoricalDtype
)。虽然这些数据也可以使用object
或string
数据类型存储,但使用category
数据类型有几个优点。我们将了解这些优点,但首先从如何处理分类数据开始。
当我们创建带有文本数据的Series或DataFrame时,默认情况下,其数据类型变为object
。要使用category
数据类型,我们需要显式定义它。
import pandas as pd# 创建Seriesblood_type = pd.Series(["A", "B", "AB", "O"])print(blood_type)# 输出0 A1 B2 AB3 0dtype: object# 创建具有category数据类型的Seriesblood_type = pd.Series(["A", "B", "AB", "O"], dtype="category")print(blood_type)# 输出0 A1 B2 AB3 0dtype: categoryCategories (4, object): ['0', 'A', 'AB', 'B']
尽管值是相同的,但数据类型不同,如打印Series时显示的dtype
。
我们将通过7组示例学习以下主题:
- DataFrames中的类别数据类型
- 类别
- 添加和更新值
- 添加和删除类别
- 类别间的顺序
- 重命名类别
- 使用类别数据类型的优点
示例1 – DataFrames中的类别数据类型
我们可以在创建Series或DataFrame时声明category
数据类型,就像我们上面所做的那样。我们也可以使用以下方法将它们转换为category
类型…