Python 如何在pyspark中汇总未知数据帧中最后一列的所有值
我是数据科学的新手,我正在使用Google Colab进行一个简单的自我项目。我从Python 如何在pyspark中汇总未知数据帧中最后一列的所有值,python,apache-spark,pyspark,apache-spark-sql,Python,Apache Spark,Pyspark,Apache Spark Sql,我是数据科学的新手,我正在使用Google Colab进行一个简单的自我项目。我从something.csv文件中获取了一个数据,该文件的列用####加密,因此我不知道列的名称。我想将该.csv文件最后一列的所有值相加 下面是我使用pyspark解决它的尝试 df = spark.read.csv('something.csv', header=True) 现在我想对“col”列中的值求和。我搜索了其他stackoverflow帖子,但不知道如何求和。使用.agg(sum())获取最后一列的所
something.csv
文件中获取了一个数据,该文件的列用####
加密,因此我不知道列的名称。我想将该.csv文件最后一列的所有值相加
下面是我使用pyspark解决它的尝试
df = spark.read.csv('something.csv', header=True)
现在我想对“col”列中的值求和。我搜索了其他stackoverflow帖子,但不知道如何求和。使用.agg(sum())
获取最后一列的所有值之和
示例:
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|
#+-------+
from pyspark.sql.functions import expr
expression = '+'.join(cols_list)
df = df.withColumn('col', expr(expression))