Skip to main content

try_divide

Returns dividend/divisor. It always performs floating point division. Its result is always null if divisor is 0. Supports Spark Connect.

For the corresponding Databricks SQL function, see try_divide function.

Syntax

Python
from pyspark.sql import functions as dbf

dbf.try_divide(left=<left>, right=<right>)

Parameters

Parameter

Type

Description

left

pyspark.sql.Column or column name

dividend

right

pyspark.sql.Column or column name

divisor

Parameter

Type

Description

left

pyspark.sql.Column or column name

dividend

right

pyspark.sql.Column or column name

divisor

Examples

Python
from pyspark.sql import functions as dbf
spark.createDataFrame(
[(6000, 15), (1990, 2), (1234, 0)], ["a", "b"]
).select("*", dbf.try_divide("a", "b")).show()
Output
+----+---+----------------+
| a| b|try_divide(a, b)|
+----+---+----------------+
|6000| 15| 400.0|
|1990| 2| 995.0|
|1234| 0| NULL|
+----+---+----------------+

Python
from pyspark.sql import functions as dbf
df = spark.range(4).select(dbf.make_interval(dbf.lit(1)).alias("itvl"), "id")
df.select("*", dbf.try_divide("itvl", "id")).show()
Output
+-------+---+--------------------+
| itvl| id|try_divide(itvl, id)|
+-------+---+--------------------+
|1 years| 0| NULL|
|1 years| 1| 1 years|
|1 years| 2| 6 months|
|1 years| 3| 4 months|
+-------+---+--------------------+