首页 > 解决方案 > Max/Min 比较 Spark withColumn 中的两个值而不是聚合

问题描述

在列计算中,我有这样的操作

from pyspark.sql import functions as F
df = df.withColumn("col_cal", .../(F.exp(col("col_A")))

F.exp(col("col_A"))可能太小并在 col_cal 处爆炸计算值。当它接近0时我想限制它。换句话说,如果它太小,用epsilon替换

epsilon = 0.001
df = df.withColumn("col_cal", .../F.max((F.exp(col("col_A"))), epsilon)

但是 F.max 是一个聚合函数,此处不接受。我怎么能像这样在火花数据帧计算中使用正常的最大/最小比较?

标签: apache-sparkpysparkaggregate-functions

解决方案


推荐阅读