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

如何在pandas中同时获取指定列与随机选取的其他列

pandas指定固定列+随机列选取方案

你可以先将固定需要保留的列单独拎出,再对剩余列做随机采样后拼接成最终的列名列表,再从数据框中选取即可。


完整实现示例

import pandas as pd
import numpy as np

# 构造测试数据框
df = pd.DataFrame(np.random.randn(5, 6), columns=['a', 'b', 'c', 'd', 'e', 'f'])

# 1. 定义固定要选取的列
fixed_col = 'a'
# 2. 排除固定列后获取剩余列名
rest_cols = df.columns.drop(fixed_col)
# 3. 从剩余列中随机选取3个,加random_state可固定采样结果方便复现
random_sampled_cols = rest_cols.sample(n=3, random_state=42).tolist()
# 4. 拼接列名列表后取值
result = df[[fixed_col] + random_sampled_cols]

精简写法

如果不需要拆分步骤,可以直接用一行代码实现:
result = df[['a'] + df.columns.drop('a').sample(3).tolist()]


注意事项

  • 若需要固定每次的随机采样结果,给sample()方法传入random_state参数,参数值可以自定义任意整数
  • 该写法默认固定列a会放在返回结果的第一列,如果你需要所有选中列打乱顺序,可以对拼接后的列名列表再做一次随机重排:
    selected_cols = pd.Series([fixed_col] + random_sampled_cols).sample(frac=1).tolist()

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 09:06:02