我有一个Pyspark数据框架:
| 伊茨|人名|
| --------------|--------------|
| [一、一、二、三、一、二、三、七、五]|[a,B,c,l,s,o,c,d,e]|
| [3,8,9,3,9,0,0,6,7,8]|[s,l,h,p,q,g,c,d,p,s]|
| [9,6,5,4,7,6,5,9,2,5,5,4,7]|[q,a,z,w,s,e,r,t,y,o,p,a,x]|
我有两列具有相同长度的数组,我想分裂的第一列数组(ids)的基础上值7(包括),如[1,2,3,7,4,6,7] => [[1,2,3,7],[4,6,7]]
如果我们只有一个7,那么在拆分后我们将只有一个数组,例如[1,2,3,4,7,8,0,5] => [[1,2,3,4,7]]
在7之后,如果没有7,则没有使用它
同样的应该反映在另一列(名称)上,它们也在数组的相同索引值上进行拆分,并且也产生相同的长度结果,因为每个id都与每个名称相连,因此我们需要获得与name列相同的拆分ids
输出应为:
| 伊茨|人名|ids_splited|名称_分割|
| --------------|--------------|--------------|--------------|
| [一、一、二、三、一、二、三、七、五]|[a,B,c,l,s,o,c,d,e]|1,1,2,3,1,2,3,7|a,B,c,l,s,o,c,d|
| [3,8,9,3,9,0,0,6,7,8]|[s,l,h,p,q,g,c,d,p,s]|3、8、9、3、9、0、0、6、7|s,l,h,p,q,g,c,d,p|
| [9,6,5,4,7,6,5,9,2,5,5,4,7]|[q,a,z,w,s,e,r,t,y,o,p,a,x]|[[9、6、5、4、7]、[6、5、9、2、5、5、4、7]]|[[q,a,z,w,s],[e,r,t,y,o,p,a,x]]|
我已经尝试了许多选择,但我无法得到这个解决。
先谢谢你了。
1条答案
按热度按时间qmb5sa221#
rdd
+map
快速解决方案结果