Pyspark的Dataframe列名修改的两种方式

有时候用spark的df做聚合操作时,需要重新命名聚合后结果的列名
可以用以下两种方式

聚合运算后直接输出结果, 列名如下

 df_res.agg({'member_name': 'count', 'income': 'sum', 'num': 'sum'}).withColumnRenamed("count(member_name)", "member_num").show()

修改前
想要把这个sum(income)取个别名
1、利用pyspark.sql中的functions

from pyspark.sql import functions as F
df_res.agg(F.count('member_name').alias('mem_num'), F.sum('num').alias('order_num'), F.sum("income").alias('total_income')).show()

修改后
2、直接用withColumnRenamed,修改多个列名,就得写多个。

df_res.agg({'member_name': 'count', 'income': 'sum', 'num': 'sum'}).withColumnRenamed("count(member_name)", "member_num").withColumnRenamed().show()

以上。

你可能感兴趣的:(Spark,python)