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

如何在Pandas多分组列内对指定列数据进行随机打乱?

解决Pandas多分组列内指定数据打乱的问题

错误原因分析

你之前的代码存在两个核心问题:

  • 分组列仅指定了"values",但实际需要按ID、values、source、type、function5列分组,必须传入列名列表才能避免多键索引弃用警告
  • transform中指定的操作列错误,你需要打乱的是values_new_column,而非source、type、function、ID列

正确实现代码

# 先完成原value列到新列的复制
pdf1["values_new_column"] = pdf1["value"].copy()

# 按指定5列分组,对values_new_column执行组内打乱
pdf1["values_new_column"] = pdf1.groupby(["ID", "values", "source", "type", "function"])["values_new_column"].transform(np.random.permutation)

代码说明

  • groupby传入列名列表["ID", "values", "source", "type", "function"],完全匹配你的分组需求,同时规避弃用警告
  • 针对values_new_column调用transform(np.random.permutation),实现每个分组内该列数据的随机重排,其他列保持原有顺序

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.25 01:44:51