Если вам нужен вывод типа массива, вы можете использовать функцию array ().
from pyspark.sql import functions as F
from pyspark.sql.window import Window
tst= spark.createDataFrame([(1,7,80),(1,8,40),(1,5,100),(5,8,90),(7,6,50),(0,3,60)],schema=['col1','col2','col3'])
tst_arr= tst.withColumn("Features",F.array(tst.columns))
tst_arr.show()
+----+----+----+-----------+
|col1|col2|col3| Features|
+----+----+----+-----------+
| 1| 7| 80| [1, 7, 80]|
| 1| 8| 40| [1, 8, 40]|
| 1| 5| 100|[1, 5, 100]|
| 5| 8| 90| [5, 8, 90]|
| 7| 6| 50| [7, 6, 50]|
| 0| 3| 60| [0, 3, 60]|
+----+----+----+-----------+
Если вы пытаетесь сделать это для операций ML, тогда лучше использовать векторный ассемблер: http://spark.apache.org/docs/2.4.0/api/python/_modules/pyspark/ml/feature.html#VectorAssembler