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

如何在Pandas中筛选列?同时包含第二列与10至40列的方法

解决方法

嘿,这个问题其实很容易搞定!首先得明确一下:pandas里的iloc是从0开始计数的索引,所以你说的「第二列」对应的索引是1,而你用的10:40切片其实会取到索引10到39的列(因为切片是左闭右开的规则),刚好对应你要的第10至40列。

这里有两种最简单的实现方式:

方法1:纯Python列表拼接(无需额外库)

直接把单列索引和切片转成的列表拼在一起就行:

subset = dt.iloc[:, [1] + list(range(10, 40))]
  • [1] 就是你要的第二列的索引
  • list(range(10, 40)) 把10:40的切片转换成包含10到39的索引列表
  • 用+把两个列表合并,就得到了所有需要的列索引集合

方法2:用numpy简化写法(更紧凑)

如果你已经在项目里用了numpy,那可以用np.r_来直接拼接单个索引和切片,省去转列表的步骤:

import numpy as np
subset = dt.iloc[:, np.r_[1, 10:40]]

np.r_会自动帮你把单个元素和切片合并成连续的索引数组,写法更简洁。

两种方法都能完美实现你的需求,选哪个全看你自己的习惯啦~

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.14 06:47:27