When you run df.describe(), PySpark returns a DataFrame where every column is a String, so first we should cast the strings and then use pyspark.sql.functions.format_number to round the columns.
from pyspark.sql.functions import col, format_number
describe = df.describe()
columns = describe.columns[1:]
for column in columns:
describe = describe.withColumn(
column,
format_number(col(column).cast('double'), 2)
)
describe.show()