Получить сумму каждого столбца в фрейме pyspark - PullRequest
0 голосов
/ 05 марта 2019

У меня есть фрейм данных, который состоит из 3 строк и более 20 столбцов (даты)

+----+-----+-----+         
|Cat |01/02|02/02|......
+----+-----+-----+
| a  | 20  |   7 |......
| b  | 30  |  12 |......
+----+---+-------+

и я хочу получить сумму из каждого столбца и добавить ее в качестве дополнительной строки в фрейм данных. Другими словами, я ожидаю выглядеть следующим образом:

+----+-----+-----+
|Cat |01/02|02/02|......
+----+-----+-----+
| a  | 20  |   7 |......
| b  | 30  |  12 |......
| All| 50  |  19 |......
+----+---+-------+

Я пишу в pySpark, и скрипт выглядит следующим образом:

from pyspark.sql import functions as F
    for col_name in fs.columns:
      print(col_name)

      sf = df.unionAll(
      df.select([
         F.lit('Total').alias('Cat'),
         F.sum(fs.col_name).alias("{}").format(col_name)
         ])
       )

К сожалению, я получаю ошибку AttributeError: 'DataFrame' object has no attribute 'col_name'. Есть идеи, что я делаю не так? Заранее спасибо!

...