Фрейм данных pyspark работает с несколькими столбцами динамически - PullRequest
0 голосов
/ 28 февраля 2019

В pyspark , предположим, у меня есть фрейм данных со столбцами с именем 'a1','a2','a3'...'a99', как мне применить операцию к каждому из них для динамического создания новых столбцов с новыми именами?

Например,, чтобы получить новые столбцы, такие как sum('a1') as 'total_a1' , ... sum('a99') as 'total_a99'.

1 Ответ

0 голосов
/ 28 февраля 2019

Вы можете использовать понимание списка с помощью alias.

Для возврата только новых столбцов:

import pyspark.sql.functions as f
df1 = df.select(*[f.sum(c).alias("total_"+c) for c in df.columns])

И если вы хотите сохранить также существующие столбцы:

df2 = df.select("*", *[f.sum(c).alias("total_"+c) for c in df.columns])
...