2016-07-16 87 views
0

我的数据是这样的:如何两个传递一维数据两个二维

2014 a 1 
2015 b 2 
2014 a 2 
2015 c 4 
2014 b 2 

如何将其传送到:在星火

 a b c 
2014 3 2 0 
2015 0 2 4 

。 谢谢。

+0

@Ares我的类型和它们fullOuterJoin滤波器的protopyical应用。 – mqshen

回答

2

这是一个透视表

df.show() 
// 
//+------+------+----+ 
//|letter|number|year| 
//+------+------+----+ 
//|  a|  1|2014| 
//|  b|  2|2015| 
//|  a|  2|2014| 
//|  c|  4|2015| 
//|  b|  2|2014| 
//+------+------+----+ 
val pivot = df.groupBy("year") 
.pivot("letter") 
.sum("number") 
.na.fill(0,Seq("a")) 
.na.fill(0,Seq("c")) 

pivot.show() 
//+----+---+---+---+ 
//|year| a| b| c| 
//+----+---+---+---+ 
//|2014| 3| 2| 0| 
//|2015| 0| 2| 4| 
//+----+---+---+---+