VectorAssembler 创建字符串值而不是原始整数

VectorAssembler creates string values instead of original integers

我有以下 PySpark DataFrame df:

df.printSchema()


 |-- yearday: integer (nullable = true)
 |-- month: integer (nullable = true)
 |-- dayofweek: integer (nullable = true)
 |-- year: integer (nullable = true)

当我应用 VectorAssembler 时,features 被转换为 string 值而不是原始 integer 值。

from pyspark.ml.feature import VectorAssembler

vectorAssembler = VectorAssembler(inputCols = ['yearday', 'month', 'dayofweek', 'year'], outputCol = 'features')
df = vectorAssembler.transform(df)
df.select(['features']).show()

输出结果如下:

如何在 features 中获取整数?

我怀疑这是一个显示错误...它应该是一个整数。试试下面的代码来确认向量包含什么类型。

from pyspark.ml.param import TypeConverters

print(TypeConverters.toList(df.select('features').take(1)[0][0]))