gpt4 book ai didi

azure - 如何在 Pyspark 中关闭值中的科学记数法?

转载 作者:行者123 更新时间:2023-12-03 06:08:25 26 4
gpt4 key购买 nike

我的数据框有一个小数列(23,8)。在 pyspark 数据帧中,某些值为 0,但它显示为 0E-8。因此,我们在转换为 csv 后遇到问题。

如何关闭科学计数法?我不想要0E-8。应为 0.00000000。谁能帮我解决这个问题吗?

尝试类型转换。但不起作用。

最佳答案

您可以导入以下函数

from pyspark.sql.functions import format_number

您可以将该函数应用于小数列,将其格式化为具有所需小数位数的字符串

在此示例中,我们使用 format_number 函数将小数列格式化为 8 位小数,并创建一个名为“formatted_column”的新列。

from pyspark.sql.functions import format_number
data = [(0.00000000,), (123.45678901,), (9876.54321098,)]
columns = ["decimal_column"]
df = spark.createDataFrame(data, columns)df = df.withColumn("formatted_column", format_number("decimal_column", 8))
df.show()

enter image description here

  • 将小数列格式化为 8 位小数

这应该防止在 CSV 输出中使用科学记数法(例如 0E-8)并显示 8 位小数的小数值(例如 0.00000000)。

关于azure - 如何在 Pyspark 中关闭值中的科学记数法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/77064572/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com