У меня есть этот фрейм данных
+----+-----+-----+
|Cat |01/02|02/02|......
+----+-----+-----+
| a | 20 | 7 |......
| b | 30 | 12 |......
| c | 10 | 10 |
All| 60 | 29 |......
+----+---+-------+
Я хочу, чтобы сумма была этой суммой Total = a +b -c
. Прямо сейчас я использую этот скрипт
dfFrc = fs.union(fs.select(F.lit("Total").alias("Cat"), *[F.sum(F.col(c)).alias(c) for c in fs.columns if c != 'Cat']))
Я попытался рассчитать желаемый результат, выполнив это
pr = col("Cat")=='b'
dfFrc = fs.union(fs.select(F.lit("Total").alias("Cat"), *[F.sum(F.col(c) - when(pr, F.col(c)).alias(c) for c in fs.columns if c != 'Cat']))
но я получаю null
в общем. Есть намеки?