fun*_*iki 2 python scientific-notation apache-spark pyspark
我有一个火花聚合,我想将结果输出到 csv,但我发现火花总是以科学记数法输出大量小数。我已经尝试过这个问题中提到的解决方案,但也没有奏效。
预期输出:
foo,avg(bar)
a,0.0000002
b,0.0000001
Run Code Online (Sandbox Code Playgroud)
实际输出:
foo,avg(bar)
a,2.0E-7
b,1.0E-7
Run Code Online (Sandbox Code Playgroud)
请参阅下面的示例:
foo,avg(bar)
a,0.0000002
b,0.0000001
Run Code Online (Sandbox Code Playgroud)
在 pyspark 外壳中:
foo,avg(bar)
a,2.0E-7
b,1.0E-7
Run Code Online (Sandbox Code Playgroud)
>>> df1 = spark.createDataFrame([('a','2.0e-7'),('b','1e-5'),('c','1.0e-7')],['foo','avg'])
>>> df1.show()
+---+------+
|foo| avg|
+---+------+
| a|2.0e-7|
| b| 1e-5|
| c|1.0e-7|
+---+------+
>>> df1.select('foo','avg',format_string('%.7f',df1.avg.cast('float')).alias('converted')).show()
+---+------+---------+
|foo| avg|converted|
+---+------+---------+
| a|2.0e-7|0.0000002|
| b| 1e-5|0.0000100|
| c|1.0e-7|0.0000001|
+---+------+---------+
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
3836 次 |
最近记录: |