【发布时间】:2021-07-03 19:26:42
【问题描述】:
我有以下数据框:
ID val1 val2 val3 ...
1 4 1 3 ...
1 5 4 8 ...
2 6 3 6 ...
2 9 2 2 ...
3 2 1 4 ...
3 1 1 4 ...
我需要按 ID 分组/聚合并减去值,产生以下输出:
ID val1 val2 val3 ...
1 -1 -3 -5 ...
2 -3 1 4 ...
3 1 0 0 ...
我目前的方法会一次产生 1 列所需的输出:
from pyspark.sql.functions import first, last
output = df.groupBy('id').agg(first('val1') - (last(col('val1'))))
但是,我的数据集有很多列,我需要为所有列找到一种干净的方法。
【问题讨论】:
标签: python apache-spark pyspark