У меня есть следующий фрейм данных:
from pyspark.sql import functions as f
from pyspark.sql import Window
df = spark.createDataFrame(sc.parallelize([["gr1", "1663708559.71"], ["gr1", "123958300.14"],["gr2", "2006101145.31"]]), ["group_col", "numb"])
И я хочу иметь новый столбец с суммой значений, сгруппированных по группам. Но у меня нет достойного вывода.
df.withColumn("sum_gr", f.sum(df["numb"].cast("double"))).over(Window.partitionBy(df["group_col"]))).show(10, False)
После того, как я вычислю сумму, мне нужно сравнить это большое значение с другим большим значением, и даже если они равны, я не получу совпадение.
У меня есть следующий результат:
Для gr1: сумма 1.7876668500001E9
и я должен сравнить это значение, скажем, 1787666850000.143.
Как лучше всего работать с большими числами с плавающей точкой в pyspark? Как мне сделать, чтобы все числа со всеми десятичными знаками были преобразованы в строку?