You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Pandas中.cat的作用解析:为何需用.cat.categories而非直接.categories

Pandas中.cat访问器的作用与必要性

首先明确核心事实:你不能直接用housing_df.REMODEL.categories,因为Series对象本身没有categories属性——这个属性属于分类数据(Categorical)的内部结构,必须通过.cat访问器才能获取到。

下面拆解具体逻辑:

  • .cat是Pandas为分类类型(Categorical dtype)的Series专门设计的访问器,用来暴露分类数据特有的属性和操作方法。分类数据的核心信息(比如可选类别categories、类别编码codes),以及分类专属的修改方法(比如重命名类别、调整类别顺序),都需要通过.cat来调用。
  • 举个实际验证的例子:
    import pandas as pd
    # 创建一个含分类列的DataFrame
    housing_df = pd.DataFrame({'REMODEL': ['Yes', 'No', 'Yes']}, dtype='category')
    # 直接访问Series的categories会报错
    housing_df.REMODEL.categories  # 抛出 AttributeError: 'Series' object has no attribute 'categories'
    # 通过.cat访问器才能获取到分类的可选类别
    housing_df.REMODEL.cat.categories  # 返回 Index(['No', 'Yes'], dtype='object')
    
  • 你疑惑的.categories本质是底层Categorical对象的属性,而非Series的属性。.cat的作用就是帮你从Series容器中,拿到底层的Categorical数据结构,进而访问它的专属属性和方法。

内容的提问来源于stack exchange,提问作者Jaime

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.17 00:49:56