pyspark.ml.functions.vector_to_array

pyspark.ml.functions。 vector_to_array ( 上校:pyspark.sql.column.Column,dtype:str=“float64” )→pyspark.sql.column.Column

MLlib稀疏/密度向量的列轉換成一個列的密集陣列。

參數
上校 pyspark.sql.Column或str

輸入列

dtype str,可選

輸出的數據類型數組。有效值:“float64”或“float32”。

返回
pyspark.sql.Column

密集的轉換列數組。

例子

> > >pyspark.ml.linalg進口向量> > >pyspark.ml.functions進口vector_to_array> > >pyspark.mllib.linalg進口向量作為OldVectors> > >df=火花createDataFrame([(向量密集的(1.0,2.0,3.0),OldVectors密集的(10.0,20.0,30.0)),(向量稀疏的(3,((0,2.0),(2,3.0)))OldVectors稀疏的(3,((0,20.0),(2,30.0)))))(“矢量”,“oldVec”])> > >df1=df選擇(vector_to_array(“矢量”)別名(“矢量”),vector_to_array(“oldVec”)別名(“oldVec”))> > >df1收集()行(vec = (1.0, 2.0, 3.0), oldVec = (10.0, 20.0, 30.0)),行(vec = (2.0, 0.0, 3.0), oldVec = (20.0, 0.0, 30.0)))> > >df2=df選擇(vector_to_array(“矢量”,“float32”)別名(“矢量”),vector_to_array(“oldVec”,“float32”)別名(“oldVec”))> > >df2收集()行(vec = (1.0, 2.0, 3.0), oldVec = (10.0, 20.0, 30.0)),行(vec = (2.0, 0.0, 3.0), oldVec = (20.0, 0.0, 30.0)))> > >df1模式字段[StructField (vec, ArrayType(倍增式(),假),假),StructField (oldVec, ArrayType(倍增式(),假),假))> > >df2模式字段[StructField (vec, ArrayType (FloatType(),假),假),StructField (oldVec, ArrayType (FloatType(),假),假))