Pandas的Categorical函数
时间: 2024-05-14 11:16:34 浏览: 94
Pandas分组与排序的实现
Pandas的Categorical函数是用来将数据转换为分类类型的函数。分类类型是指具有有限个可能取值的离散型数据,例如性别、血型等。将数据转换为分类类型可以减少数据的存储空间、提高计算速度,并且方便进行分类汇总和分组分析等操作。
Categorical函数的基本语法如下:
```python
pd.Categorical(values, categories=None, ordered=None, dtype=None)
```
其中,values参数表示要转换为分类类型的数据,可以是列表、数组、Series或DataFrame中的一列数据;categories参数表示数据的分类取值范围,如果不指定则根据数据中的实际取值自动推断;ordered参数表示分类是否有序,如果为True则表示分类之间有大小关系,例如星级评定、成绩等;dtype参数表示分类的数据类型,如果不指定则自动推断。
Categorical函数返回一个Categorical对象,可以使用其许多方法进行分类数据的操作,例如获取分类取值、计算频数、排序等。例如:
```python
import pandas as pd
s = pd.Series(['A', 'B', 'C', 'A', 'B', 'C'])
cat = pd.Categorical(s, categories=['A', 'B', 'C'], ordered=True)
print(cat)
print(cat.categories)
print(cat.codes)
print(cat.value_counts())
```
输出结果为:
```
[A, B, C, A, B, C]
Categories (3, object): [A < B < C]
[0 1 2 0 1 2]
C 2
B 2
A 2
dtype: int64
```
这段代码将Series对象s转换为分类类型,分类取值为['A', 'B', 'C'],并指定分类为有序。然后打印Categorical对象的属性和方法,可以看到分类取值、分类编码、频数等信息。
阅读全文