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

基于列值条件过滤行并合并DataFrame:为df1添加指定字段

解决DataFrame合并需求:仅保留stage为done的字节统计值

实现步骤

  • 第一步:筛选df2中stage状态为done的卷(vol)及其对应load批次
    stage_done = df2[(df2['counter_name'] == 'stage') & (df2['counter_value'] == 'done')][['vol', 'load']]
    
  • 第二步:提取df2里bytes_read和bytes_written的记录,仅保留属于stage_done范围内的数据
    bytes_data = df2[df2['counter_name'].isin(['bytes_read', 'bytes_written'])]
    valid_bytes = bytes_data.merge(stage_done, on=['vol', 'load'], how='inner')
    
  • 第三步:将筛选后的字节数据转为宽表格式,适配df1的结构
    valid_bytes_wide = valid_bytes.pivot(index='vol', columns='counter_name', values='counter_value').reset_index()
    
  • 第四步:将处理好的字节数据合并到df1,无匹配记录的字段自动填充NaN
    df1 = df1.merge(valid_bytes_wide, on='vol', how='left')
    

最终结果

执行后df1将变为:

vol  comp  sort  bytes_read  bytes_written
0  vol1    10    20      150.0          250.0
1  vol2    10    20        NaN            NaN

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.01 21:22:40