使用pyspark进行枢轴功能而无聚合

问题描述

下面有一个示例输入和输出

Step_Name  Parameter_name  Step  Value  Substep  
 Test 1        Param 1       1     #       1
 Test 1        Param 2       1     #       1
 Test 1        Param 3       1     #       1
 Test 1        Param 1       1     #       2
 Test 1        Param 2       1     #       2
 Test 1        Param 3       1     #       2
 Test 2        Param 1       2     #       1
 Test 2        Param 2       2     #       1
 Test 2        Param 3       2     #       1
 Test 2        Param 1       2     #       2
 Test 2        Param 2       2     #       2
 Test 2        Param 3       2     #       2

我想要的期望输出是...

Step Step_name  SubStep  Param 1  Param 2  Param 3
  1   Test 1       1        #        #        #
  1   Test 1       2        #        #        #
  2   Test 2       1        #        #        #
  2   Test 2       2        #        #        #

我现在可以使用以下命令在熊猫中做到这一点:

df.pivot_table(index = ["Step","Step_name","SubStep","Filename"],columns = 'Parameter_name',values = 'Value').reset_index()

当我尝试在PySpark中执行此操作时,我会使用以下内容

df.groupBy("Step","Filename").pivot("Parameter_name")

但是,这将返回一个对象,并且我需要使用诸如sum之类的聚合函数。如何避免这样做?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)