gpt4 book ai didi

apache-spark - PySpark 截断小数

转载 作者:行者123 更新时间:2023-12-04 08:38:34 26 4
gpt4 key购买 nike

我在 pySpark 工作,我有一个变量 LATITUDE,它有很多小数位。我需要从中创建两个新变量,一个是四舍五入的,一个是截断的。均为小数点后三位。

截断值的最简单方法是什么?

为了四舍五入,我做了:

raw_data = raw_data.withColumn("LATITUDE_ROUND", round(raw_data.LATITUDE, 3))

这似乎有效,但如果有更好的方法,请告诉我。

最佳答案

尝试:

>>> from pyspark.sql.functions import pow, lit
>>> from pyspark.sql.types import LongType
>>>
>>> num_places = 3
>>> m = pow(lit(10), num_places).cast(LongType())
>>> df = sc.parallelize([(0.6643, ), (0.6446, )]).toDF(["x"])
>>> df.withColumn("trunc", (col("x") * m).cast(LongType()) / m).

关于apache-spark - PySpark 截断小数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38751457/

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