【发布时间】:2019-07-14 22:47:51
【问题描述】:
我有一个 DataFrame,其中有一个名为 value 的列,其架构类型如下:
(...)
|-- value: double (nullable = true)
(...)
当我尝试拟合StandardScaler时,如:
scaler = StandardScaler(inputCol="mean",
outputCol="mean_standardized",
withStd=True, withMean=False)
scaler.fit(df)
它会抛出以下错误:
IllegalArgumentException: 'requirement failed: Column value must be of type struct<type:tinyint,size:int,indices:array<int>,values:array<double>> but was actually double.'
这似乎是列的double 类型的问题,StandardScaler 的预期列类型是什么?
我正在使用 Spark 2.4.3 和 Hadoop 2.7。
【问题讨论】:
-
你能分享一个你正在尝试使用的示例 DataFrame 吗?看起来你需要一个结构类型。
-
谢谢,我找到了问题,
StandardScaler需要Vector。
标签: apache-spark pyspark apache-spark-mllib