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

如何自动获取Pandas DataFrame中分类列的索引?

自动生成分类列索引列表的方法

当然有更高效的自动方案!不用再手动构建列名-索引对应表、挨个找分类列位置,直接利用Pandas DataFrame的类型属性就能快速搞定:

方法一:直接遍历数据类型提取索引

这是最简洁的方式,通过enumerate遍历每一列的 dtype,筛选出category类型对应的索引:

# 假设df是你导入后的DataFrame对象
categorical_features = [idx for idx, dtype in enumerate(df.dtypes) if dtype == 'category']

方法二:先获取分类列名再转索引

如果你需要先确认分类列的名称,也可以先筛选出所有category类型的列名,再通过get_indexer转换为索引列表:

# 第一步:获取所有分类列的名称
cat_column_names = df.columns[df.dtypes == 'category'].tolist()
# 第二步:将列名转换为对应的索引
categorical_features = df.columns.get_indexer(cat_column_names).tolist()

为什么这两种方法更好?

  • 完全自动化,不用手动数列的位置,避免列顺序变动时出错
  • 代码更简洁易读,维护成本低
  • 不管你的DataFrame有多少列,都能一次性准确提取所有分类列的索引

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.13 08:44:22