Как суммировать все значения последнего столбца в неизвестном фрейме данных в pyspark - PullRequest
0 голосов
/ 01 мая 2020

Я новичок в Data Science и работаю над простым самостоятельным проектом с использованием Google Colab. Я взял данные из файла something.csv, и столбцы файла зашифрованы с помощью ####, поэтому я не знаю имен столбцов. Я хочу суммировать все значения последнего столбца этого CSV-файла.

Вот моя попытка решить эту проблему с помощью pyspark

df = spark.read.csv('something.csv', header=True)

Теперь я хочу суммировать значения в столбец 'col'. Я искал другие сообщения от stackoverflow, но не понял, как подвести итог.

Ответы [ 2 ]

1 голос
/ 01 мая 2020
from pyspark.sql.functions import expr

expression = '+'.join(cols_list)

df = df.withColumn('col', expr(expression))
1 голос
/ 01 мая 2020

Используйте .agg(sum(<col_name>)), чтобы получить сумму всех значений last column.

Example:

df.show()
#+---+-------------+---+
#| id|         Name| va|
#+---+-------------+---+
#|  1|       'Gary'|  5|
#|  1|      'Danny'|  4|
#|  2|      'Kevin'|  3|
#|  2|'Christopher'|  2|
#+---+-------------+---+

#lastcolumn
last_col=df[df.columns[len(df.columns)-1]]

#get sum of last column
df.agg(sum(last_col)).show()
#or
df.agg(sum(*[df.columns[-1]])).show()
#+-------+
#|sum(va)|
#+-------+
#|     14|
#+-------+
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...