Вот пример для pyspark:
df = spark.createDataFrame([(1,10,20,30),(1,10,20,30),(1,10,20,30)],['id','value1','value2','value3'])
exprs = {x: "sum" for x in df.columns if x is not df.columns[0]}
df.groupBy("id").agg(exprs).show()
#+---+-----------+-----------+-----------+
#| id|sum(value2)|sum(value1)|sum(value3)|
#+---+-----------+-----------+-----------+
#| 1| 60| 30| 90|
#+---+-----------+-----------+-----------+
Здесь df.columns[0]
представляет первый столбец df
.Вы также можете указать столбец groupBy по имени, как показано ниже.
exprs = {x: "sum" for x in df.columns if x is not 'id'}