我有这个数据框
+----+-----+-----+
|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
。有提示吗?