繁华开满天机
要将所有列汇总为一个新列,您可以将列表推导与 python 的 sum 函数一起使用import pyspark.sql.functions as Ffrom pyspark.sql.functions import udffrom pyspark.sql.types import *tst= sqlContext.createDataFrame([(10,7,14),(5,1,4),(9,8,10),(2,6,90),(7,2,30),(3,5,11)],schema=['val1','x','y'])tst_sum= tst.withColumn("sum_col",sum([tst[coln] for coln in tst.columns]))结果:tst_sum.show()+----+---+---+-------+|val1| x| y|sum_col|+----+---+---+-------+| 10| 7| 14| 31|| 5| 1| 4| 10|| 9| 8| 10| 27|| 2| 6| 90| 98|| 7| 2| 30| 39|| 3| 5| 11| 19|+----+---+---+-------+注意:如果您从 pyspark 函数中导入了 sum 函数,那么from import pyspark.sql.functions import sum您必须将名称更改为其他名称,例如from import pyspark.sql.functions import sum_pyspark