PySpark offers the exp function in its pyspark.sql.functions module, which calculates the exponential of a given column.
In this article, we will delve into the details of this function, exploring its usage through an illustrative example.
Function Signature
The exp function signature in PySpark is as follows:
pyspark.sql.functions.exp(col)
The function takes a single argument:
col: A column expression representing a column in a DataFrame. The column should contain numeric data for which you want to compute the exponential.
Example Usage
Let’s examine a practical example to better understand the exp function. Suppose we have a DataFrame named df containing a single column, col1, with five numeric values.
from pyspark.sql import SparkSession
from pyspark.sql.functions import lit
spark = SparkSession.builder.getOrCreate()
data = [(1.0,), (2.0,), (3.0,), (4.0,), (5.0,)]
df = spark.createDataFrame(data, ["col1"])
df.show()
Result : DataFrame:
+----+
|col1|
+----+
| 1.0|
| 2.0|
| 3.0|
| 4.0|
| 5.0|
+----+
Now, we wish to compute the exponential of each value in the col1 column. We can achieve this using the exp function:
from pyspark.sql.functions import exp
df_exp = df.withColumn("col1_exp", exp(df["col1"]))
df_exp.show()
In this code, the withColumn function is utilized to add a new column to the DataFrame. This new column, col1_exp, will contain the exponential of each value in the col1 column. The output will resemble the following:
+----+------------------+
|col1| col1_exp|
+----+------------------+
| 1.0|2.7182818284590455|
| 2.0| 7.38905609893065|
| 3.0|20.085536923187668|
| 4.0|54.598150033144236|
| 5.0| 148.4131591025766|
+----+------------------+
As you can see, the col1_exp column now holds the exponential of the values in the col1 column.
PySpark’s exp function is a beneficial tool for computing the exponential of numeric data. It is a must-have in the toolkit of data scientists and engineers dealing with large datasets, as it empowers them to perform complex transformations with ease.
Spark important urls to refer