Spark:将数据帧列转换为矢量


anq">我有一个带有列column的数据帧df,我想将column转换为向量(例如DenseVector),以便我可以在向量和矩阵乘积中使用它。

当心:我不需要一列向量;我需要一个矢量对象。

怎么做?

我发现了vectorAssembler函数(链接),但这对我没有帮助,因为它将一些 DataFrame 列转换为矢量列,这仍然是 DataFrame 列;我想要的输出应该是矢量。


关于这个问题的目标:为什么我要尝试将 DF 列转换为向量?假设我有一个带有数字列的 DF,我需要计算矩阵和此列之间的乘积。我怎样才能做到这一点?(DF 数字行也是如此。欢迎任何替代方法。

如何:

DenseVector(df.select("column_name").rdd.map(lambda x: x[0]).collect())

但这在任何实际场景中都没有意义。

Spark Vectors不是分布式的,因此仅当数据适合一个(驱动程序)节点的内存时才适用。如果是这种情况,则不会使用 Spark DataFrame 进行处理。

相关内容

  • 没有找到相关文章

最新更新