說我有這樣的蟒蛇,pyspark:一pyspark數據幀列的獲得和值
name age city
abc 20 A
def 30 B
我想在數據幀的末尾添加彙總行一個數據幀,這樣的結果會是怎樣
name age city
abc 20 A
def 30 B
All 50 All
所以字符串 '所有',我可以很容易地說,但如何獲得總和(DF [ '年齡'])###列對象不是可迭代
data = spark.createDataFrame([("abc", 20, "A"), ("def", 30, "B")],["name", "age", "city"])
data.printSchema()
#root
#|-- name: string (nullable = true)
#|-- age: long (nullable = true)
#|-- city: string (nullable = true)
res = data.union(spark.createDataFrame([('All',sum(data['age']),'All')], data.columns)) ## TypeError: Column is not iterable
#Even tried with data['age'].sum() and got error. If i am using [('All',50,'All')], it is doing fine.
我通常在熊貓數據框上工作,並且是新的Spark。可能是我對火花數據框不是那麼成熟的一點看法。
請建議,如何獲得在pyspark中的數據幀列的總和。如果有更好的方法在數據框的末尾添加/附加一行。 謝謝。
目前我解決由「sum_value = INT(data.agg({ '年齡': '和'}上述要求).toPandas()['sum(age)']。sum())「,i:e在應用sum函數的列/序列上應用列彙總轉換爲pandas df->但我不想要讓熊貓在這裏參與。 – Satya