如果 col1 不是 NaN,则返回 col1;如果 col1 为 NaN,则返回 col2。 这两个输入应该是浮点列(DoubleType 或 FloatType)。 支持 Spark Connect。
有关相应的 Databricks SQL 函数,请参阅 nanvl 函数。
Syntax
from pyspark.databricks.sql import functions as dbf
dbf.nanvl(col1=<col1>, col2=<col2>)
参数
| 参数 | 类型 | Description |
|---|---|---|
col1 |
pyspark.sql.Column 或 str |
要检查的第一列。 |
col2 |
pyspark.sql.Column 或 str |
如果第一列为 NaN,则返回第二列。 |
退货
pyspark.sql.Column:第一列或第二列的值(如果第一列为 NaN)。
例子
from pyspark.databricks.sql import functions as dbf
df = spark.createDataFrame([(1.0, float('nan')), (float('nan'), 2.0)], ("a", "b"))
df.select("*", dbf.nanvl("a", "b"), dbf.nanvl(df.a, df.b)).show()
+---+---+-----------+-----------+
| a| b|nanvl(a, b)|nanvl(a, b)|
+---+---+-----------+-----------+
|1.0|NaN| 1.0| 1.0|
|NaN|2.0| 2.0| 2.0|
+---+---+-----------+-----------+