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

pandas基于部分层级MultiIndex交集筛选深层索引DataFrame的方法

实现方法

你可以直接通过pandas多层索引的isin()方法配合level参数完成筛选,一行代码即可实现需求,无需额外join和删除冗余列:

# 写法1:通过level参数指定匹配的索引层级,更通用
result = df[df.index.isin(df2.index, level=[0, 1])]

也可以手动移除多余索引层级后做匹配:

# 写法2:先移除df的C层索引,再判断是否在df2的索引中
result = df[df.index.droplevel('C').isin(df2.index)]

说明

  • 写法1的level参数可以填层级序号,也可以填层级名,比如level=["A", "B"],可读性更好
  • 两种写法最终输出结果都和预期一致:
V
A  B  C
a1 b1 c1  1
      c2  2
a2 b1 c1  4

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 15:24:07