寻找将数据帧X转换为Y的线索。
在按A和国家列分组后,我尝试使用unpivot 。显然,在按同一列分组后无法取消对列的透视。一些完全不同的方法也可以。
X:
A1,A2,A3,country
True,False,True,"USA"
False,False,False,"USA"
False,True,False,"USA"
False,False,True,"USA"
False,False,False,"USA"
True,False,False,"RUS"
False,True,False,"RUS"
False,False,False,"RUS"
False,False,False,"RUS"
True,False,False,"ENG"
False,False,True,"ENG"
False,False,False,"CHN"
Y:
A1,A2,A3,country
1,1,2,"USA"
1,1,0,"RUS"
1,0,1,"ENG"
0,0,0,"CHN"
您可以按国家/地区分组并汇总其他列:
df2 = df.groupBy('country').agg(*[F.sum(F.col(c).cast('int')).alias(c) for c in ['A1', 'A2', 'A3']])
df2.show()
+-------+---+---+---+
|country| A1| A2| A3|
+-------+---+---+---+
| ENG| 1| 0| 1|
| USA| 1| 1| 2|
| RUS| 1| 1| 0|
| CHN| 0| 0| 0|
+-------+---+---+---+
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句