重命名pyspark数据帧聚合的列 [英] renaming columns for pyspark dataframes aggregates
本文介绍了重命名pyspark数据帧聚合的列的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
df
,我正在汇总: df.groupBy(group)\
.agg({money:sum})\
.show(100)
这将给我:
group SUM(money#2L)
A 137461285853
B 172185566943
C 271179590646
聚合工作正常,但我不喜欢新的列名称SUM(money#2L)。有没有一种整洁的方式将这个列重命名为从 .agg
方法可读的东西?可能更类似于 dplyr
中的内容:
df %>%group_by(group)%>%summarize(sum_money = sum(money))
解决方案
虽然我仍然喜欢 dplyr 语法,但这段代码片段将会执行:
import pyspark.sql.functions as func
df.groupBy(group)\
.agg(func.sum('money')。alias('money '))\
.show(100)
它变得冗长。
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)
This will give me:
group SUM(money#2L)
A 137461285853
B 172185566943
C 271179590646
The aggregation works just fine but I dislike the new column name "SUM(money#2L)". Is there a neat 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))
解决方案
Although I still prefer dplyr syntax, this code snippet will do:
import pyspark.sql.functions as func
df.groupBy("group")\
.agg(func.sum('money').alias('money'))\
.show(100)
It gets verbose.
这篇关于重命名pyspark数据帧聚合的列的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文