调用时如何在PySpark中设置显示精度.show()?
考虑以下示例:
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()
Run Code Online (Sandbox Code Playgroud)
哪个输出:
#+------------------+------------------+
#| col1| col2|
#+------------------+------------------+
#|10.099262230352151|14.212583322380274|
#+------------------+------------------+
Run Code Online (Sandbox Code Playgroud)
如何更改它,使其仅在小数点后显示3位数字?
所需的输出:
#+------+------+
#| col1| col2|
#+------+------+
#|10.099|14.213|
#+------+------+
Run Code Online (Sandbox Code Playgroud)
这是此scala问题的PySpark版本。我将其发布在这里是因为在搜索PySpark解决方案时找不到答案,并且我认为它将来可能会对其他人有所帮助。