重命名 PySpark DataFrame 聚合的列 [英] Renaming columns for PySpark DataFrame aggregates
本文介绍了重命名 PySpark DataFrame 聚合的列的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在使用 PySpark DataFrames 分析一些数据.假设我有一个正在聚合的 DataFrame df
:
I am analysing some data with PySpark DataFrames. Suppose I have a DataFrame df
that I am aggregating:
(df.groupBy("group")
.agg({"money":"sum"})
.show(100))
这会给我:
group SUM(money#2L)
A 137461285853
B 172185566943
C 271179590646
聚合工作正常,但我不喜欢新的列名SUM(money#2L)".有没有办法将此列重命名为人类可读的 .agg
方法?也许更类似于在 dplyr
中所做的事情:
The aggregation works just fine but I dislike the new column name "SUM(money#2L)". Is there a way to rename this column into something human readable from the .agg
method? Maybe something more similar to what one would do in dplyr
:
df %>% group_by(group) %>% summarise(sum_money = sum(money))
推荐答案
虽然我仍然更喜欢 dplyr 语法,但这段代码可以做到:
Although I still prefer dplyr syntax, this code snippet will do:
import pyspark.sql.functions as sf
(df.groupBy("group")
.agg(sf.sum('money').alias('money'))
.show(100))
它变得冗长.
这篇关于重命名 PySpark DataFrame 聚合的列的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文