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

如何提取pandas DataFrame中指定索引列表对应的列子集?

基于列索引列表筛选pandas DataFrame列的方法

你可以直接用iloc索引器实现需求,这是pandas专门用于按位置(整数索引)筛选数据的语法,操作非常简单。


具体实现步骤

  • 先准备原始DataFrame和目标列索引列表,示例如下:
import pandas as pd

# 示例原始DataFrame,共4列,列索引对应0、1、2、3
df = pd.DataFrame({
    'col_a': [1,2,3,4],
    'col_b': [5,6,7,8],
    'col_c': [9,10,11,12],
    'col_d': [13,14,15,16]
})

# 目标列索引列表,比如要筛选第0列和第2列
target_cols_idx = [0, 2]
  • 用iloc筛选列生成新DataFrame:
# 冒号表示保留所有行,第二个参数直接传入列索引列表即可
new_df = df.iloc[:, target_cols_idx]

注意:如果需要生成和原DataFrame完全独立、不共享内存的新对象,可以在末尾加.copy(),即new_df = df.iloc[:, target_cols_idx].copy(),避免后续修改新DataFrame时意外改动原数据。


备选实现方法

你也可以通过列名间接筛选,先通过df.columns拿到所有列名的序列,再用索引列表取对应的列名后传入方括号索引,效果和iloc方法一致:

new_df = df[df.columns[target_cols_idx]]

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 02:45:04