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

Pandas如何通过iloc同时选取离散列与连续区间列

Pandas 同时选中离散列和连续区间列的实现方法

你需要的操作完全可以实现,只是不能直接使用df.iloc[:,[a,b,c:d]]的写法,需要先将离散索引和连续区间的索引拼接为完整的索引列表再传入iloc。

推荐实现方式

方法1:使用numpy.r_快速拼接索引(最简洁)

numpy.r_可以自动把切片对象展开为整数列表,直接混合放入离散索引和连续切片即可:

import numpy as np
# 示例:选中第a、b列,以及第c到第d-1列(切片遵循左闭右开规则)
df1 = df.iloc[:, np.r_[a, b, c:d]]

如果需要包含第d列,将切片改为c:d+1即可

方法2:手动拼接索引列表(无需额外依赖)

如果不想引入numpy依赖,也可以手动生成连续区间的索引列表再和离散索引拼接:

# 示例:选中第a、b列,以及第c到第d-1列
cols = [a, b] + list(range(c, d))
df1 = df.iloc[:, cols]

注意事项

  • iloc使用0起始的位置索引,DataFrame的第一列对应索引值为0
  • 所有切片均遵循左闭右开规则,如需包含结束位置的列,需要将切片结束值+1

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 12:39:00