如何将输出转换为整数?

3 浏览
0 Comments

如何将输出转换为整数?

我使用下面的代码来计算一个属性的平均值。\n

from pyspark.sql import functions as F
from pyspark.sql.functions import mean
result = df.select([mean("Age")])
result.show()

\n我得到的输出是56.4567,我需要将其转换为整数。

0
0 Comments

如何将输出转换为整数?

在使用pyspark dataframe时,有时候我们需要将输出结果转换为整数类型。下面介绍了如何解决这个问题。

首先,我们可以通过以下几种方法将pyspark dataframe的结果转换为实数:

1. 使用asDict()方法将结果转换为字典,并获取特定字段的值:

result = result.take(1)[0].asDict()['avg(Age)']

2. 使用collect()方法将结果转换为列表,并获取特定字段的值:

result = result.collect()[0]['avg(Age)']

3. 使用collect()方法将结果转换为列表,并获取特定字段的索引位置的值:

result = result.collect()[0][0]

如果需要对结果进行取整操作,可以使用以下方法:

1. 导入math模块,并使用floor()方法将结果向下取整:

import math
math.floor(float(result))
# 56

2. 导入math模块,并使用ceil()方法将结果向上取整:

import math
math.ceil(float(result))
# 57

通过上述方法,我们可以将pyspark dataframe输出结果转换为整数类型,以满足我们的需求。

0
0 Comments

问题的出现原因是试图将一个DataFrame对象转换为整数,但是int()函数只能接受字符串、字节类对象或数字作为参数,不能直接将DataFrame转换为整数。

解决方法是首先将DataFrame对象转换为字符串,然后再将字符串转换为整数。具体的代码如下所示:

result_as_string = str(result)
result_as_integer = int(result_as_string)

或者,如果想要将DataFrame转换为浮点数,可以使用float()函数。具体的代码如下所示:

result_as_float = float(result)

0
0 Comments

如何将输出转换为整数?

问题原因:在代码中,使用了df.select(mean("Age")).collect()[0][0]来获取平均年龄的结果,但是该结果是一个DataFrame类型的对象,不是整数类型。

解决方法:为了将结果转换为整数类型,可以使用round函数对结果进行四舍五入,并通过索引获取到结果的值。然后,将该值赋给一个变量result,并确保result的类型为整数。

具体解决方法如下所示:

result = round(df.select(mean("Age")).collect()[0][0])

通过以上代码,我们可以将结果转换为整数类型,最终得到的result变量将是一个整数。

0