from functools import reduce
def column_add(a, b):
    return a.__add__(b)
newdf = df.withColumn('total_col', reduce(column_add, (df[col] for col in
    df.columns)))
Add column sum as new column in PySpark dataframe