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

Pandas多级索引DataFrame无循环为对应operator的sc列赋随机数

实现方法

不需要写任何显式循环,通过groupby分组赋值即可实现需求,核心代码如下:

import numpy as np

def assign_sc_values(group):
    current_op = group.name
    # 定位当前操作符对应的sc列
    target_cols = ('scalars', current_op)
    # 生成匹配行列数的0-100随机整数
    group[target_cols] = np.random.randint(0, 101, size=(len(group), len(df[target_cols].columns)))
    return group

# 按operator列分组后执行赋值
df = df.groupby(('operator', '', ''), group_keys=False).apply(assign_sc_values)

逻辑说明

  • 按operator列的值对DataFrame做分组,相同操作符的行都会被分到同一组
  • 对每个分组,直接获取对应操作符下的所有sc开头列,生成符合形状的随机整数批量赋值
  • 所有遍历逻辑由pandas内部优化实现,无用户侧显式循环

运行后即可得到预期效果:只有每行operator值对应的sc列会被填充随机数,其余列保持NaN不变。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 22:36:04