Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何在pyspark中汇总未知数据帧中最后一列的所有值_Python_Apache Spark_Pyspark_Apache Spark Sql - Fatal编程技术网

Python 如何在pyspark中汇总未知数据帧中最后一列的所有值

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())获取最后一列的所

我是数据科学的新手,我正在使用Google Colab进行一个简单的自我项目。我从
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))