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(),假),假))