У меня есть фрейм данных, который состоит из 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'
. Есть идеи, что я делаю не так? Заранее спасибо!