我有以下数据框
id col1 col2 col3 col4
1 1 10 100 A
1 1 20 101 B
1 1 30 102 C
2 1 10 80 D
2 1 20 90 E
2 1 30 100 F
2 1 40 104 G
因此,我想返回一个新的数据框,其中我可以在同一行中单独包含相同的值(col1,col2),还可以创建一个新列,并在两个col3列上进行一些运算,例如< / p>
id(1) col1(1) col2(1) col3(1) col4(1) id(2) col1(2) col2(2) col3(3) col4(4) new_column
1 1 10 100 A 2 1 10 80 D (100-80)*100
1 1 20 101 B 2 1 20 90 E (101-90)*100
1 1 30 102 C 2 1 30 100 F (102-100)*100
- - - - - 2 1 40 104 G -
我尝试排序,按(col1,col2)分组,但是分组返回的RelationalGroupedDataset我无法执行任何聚合函数。因此,我将不胜感激。我正在使用Scala 2.11,谢谢!
答案 0 :(得分:0)
如何将df与自身连接? 像这样:
df.as("left")
.join(df.as("right"), Seq("col1", "col2"), "outer")
.where($"left.id" =!= $"right.id")