Como definir a precisão da exibição no PySpark Dataframe show

Como você define a precisão de exibição no PySpark ao chamar.show()?

Considere o seguinte exemplo:

from math import sqrt
import pyspark.sql.functions as f

data = zip(
    map(lambda x: sqrt(x), range(100, 105)),
    map(lambda x: sqrt(x), range(200, 205))
)
df = sqlCtx.createDataFrame(data, ["col1", "col2"])
df.select([f.avg(c).alias(c) for c in df.columns]).show()

Quais saídas:

#+------------------+------------------+
#|              col1|              col2|
#+------------------+------------------+
#|10.099262230352151|14.212583322380274|
#+------------------+------------------+

Como posso alterá-lo para exibir apenas 3 dígitos após o ponto decimal?

Saída desejada:

#+------+------+
#|  col1|  col2|
#+------+------+
#|10.099|14.213|
#+------+------+

Esta é uma versão do PySpark doesta pergunta de scala. Estou postando aqui porque não consegui encontrar uma resposta ao procurar soluções PySpark e acho que pode ser útil para outras pessoas no futuro.

questionAnswers(1)

yourAnswerToTheQuestion