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

Power Query技术问询:基于多单元格条件逻辑提取行值

动态列数据处理实现方案

如果用Python的pandas库处理这类数据,直接用下面的代码就能搞定所有需求:

  1. 筛选动态列:先找出除Custom外的所有列

    dynamic_cols = [col for col in df.columns if col != 'Custom']
    
  2. 类型转换+空值/错误值处理:把动态列转成数值类型,无法转换的内容和空值都替换成空字符串

    df[dynamic_cols] = df[dynamic_cols].apply(
        lambda x: pd.to_numeric(x, errors='coerce').fillna('')
    )
    
  3. 新增最大值列:计算每行动态列的最大值,全为空的行显示空字符串

    df['Max_Value'] = df[dynamic_cols].replace('', float('nan')).max(axis=1).fillna('')
    

关键逻辑说明

  • pd.to_numeric(errors='coerce')会把像"1 EA"这类非数值内容转成NaN,再用fillna('')统一替换为空字符串,同时搞定空值和错误值的处理。
  • 计算最大值前,要先把空字符串转回NaN(不然没法做数值运算),用max(axis=1)取每行的最大值后,再把结果里的NaN(对应所有动态列都是空的行)转回空字符串。

这套代码不管动态列有多少个,都能自动适配,完全符合你的要求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.29 14:42:46