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

如何对Pandas多层级列DataFrame按一级列随机抽样并保留全部子列

解决方案

核心逻辑是按一级列整组选取,而非直接对所有二级列随机采样,实现步骤如下:

  1. 先提取当前DataFrame实际存在的所有一级列名
  2. 从一级列中随机抽取2个目标分组
  3. 按选中的一级列名直接索引DataFrame,会自动保留对应分组下的全部二级子列

可直接运行的代码

import random

# 提取所有一级列名
level1_cols = df.columns.get_level_values(0).unique()
# 随机抽取2个一级列
selected_level1 = random.sample(list(level1_cols), k=2)
# 索引得到结果
result = df[selected_level1]

原代码错误原因

你之前使用df.sample(n=5, axis=1)是把所有二级列当做独立个体抽取,没有遵循一级列的分组筛选逻辑,因此会返回零散的子列。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 11:24:03