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

将PySpark DataFrame转换为字典:筛选收集列值

将PySpark DataFrame转换为目标字典

假设已创建好对应DataFrame(命名为df),直接通过以下代码实现需求:

实现步骤

  • 先提取需要检查的列(排除ID列):
    value_columns = [col for col in df.columns if col != "ID"]
    
  • 遍历DataFrame的每一行,筛选出值为Approve的列名,构建目标字典:
    target_dict = {
        row["ID"]: [col for col in value_columns if row[col] == "Approve"]
        for row in df.collect()
    }
    

结果验证

运行后得到的结果就是你需要的格式:

{'1A': ['value-1'], '2B': ['value-1','value-2'], '3C': ['value-3']}

注意事项

  • df.collect()会把全量数据拉取到Driver节点,仅适用于数据量较小的场景;若数据量庞大,建议先通过分布式逻辑处理后再收集结果。
  • NULL值会自动被排除,因为我们只筛选值等于Approve的列,无需额外处理空值判断。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.07 23:15:29