cat这个访问器是对pandas中的类别类型的列进行特定的操作. 使用前, 需要将对应的列转换成类别类型.
创建时指定为category格式:
category
In [1]: s = pd.Series(["a", "b", "c", "a"], dtype="category") In [2]: s Out[2]: 0 a 1 b 2 c 3 a dtype: category Categories (3, object): [a, b, c]
对于已经存在的Series, 可以使用Series.astype("category")的方法将原有类型转换成类别类型.
Series
Series.astype("category")
由于类别类型在底层是以短整型的格式来存储的, 因此如果原数据类型是字符串表示的类别, 转换后将会大大地减少内存的占用, 且后续的操作也会更高效, 因此将代表类别的列Series转换成类别类型是一种相当好的方法, 注意在数据处理过程中经常使用.
关于cat的操作详见catarrow-up-right. 介绍一些重要的方法.
在转换成类别类型之后, 每个类别在底层都有一个唯一的数值与其相对应(数值范围在[0, #categories)之间. 使用这个方法就能得到类别的数值表示方法.
[0, #categories)
最后更新于6年前