如何在Polars中创建含指定元素与类别的Categorical列
在Polars中创建指定类别的Categorical列
实现代码
在Polars中,你可以通过两种方式创建指定类别的Categorical列:
方法1:创建Series时直接指定Categorical类型及类别
import polars as pl # 创建指定类别的Categorical序列 s = pl.Series(['a', 'b', 'a', 'a'], dtype=pl.Categorical(categories=['a', 'b', 'c'])) print(s)
输出结果:
shape: (4,) Series: '' [cat] [ "a" "b" "a" "a" ] Categories (3): ['a', 'b', 'c']
方法2:先创建字符串序列,再转换为指定类别的Categorical
import polars as pl s = pl.Series(['a', 'b', 'a', 'a']).cast(pl.Categorical(categories=['a', 'b', 'c']))
Polars.Categorical 类型中文说明
概述
Categorical(分类)数据类型,用于存储有限离散值数据。它通过整数编码+类别映射表的方式存储数据,既节省内存占用,又能显著提升分组、连接、过滤等操作的执行效率。
参数
- categories(可选,字符串序列):指定该分类类型包含的所有可能类别。若未提供参数,Polars会自动从数据中推断类别。
- ordered(布尔值,默认False):标记该分类是否为有序分类。有序分类的类别间存在明确的顺序关系(例如"低" < "中" < "高")。
方法
- to_physical():将分类序列转换为其底层存储的整数编码值。
- from_physical():将整数编码值转换回对应的分类原始值。
内容的提问来源于stack exchange,提问作者ignoring_gravity
相关产品推荐
相关产品推荐

